精华内容
下载资源
问答
  • 1.兔子的规律为数列1,1,2,3,5,8,13,21... ...第一个月跟第二个月一样 变化是从第三个月开始变化的 先求出第一跟第二月的兔子的数目 第三个月前两数开始想加 第三个月+第四个月=第五个月 第...

    1.兔子的规律为数列1,1,2,3,5,8,13,21...

    a=1
    b=1
    print(a)
    print(b)
    for i in range(10):
        a=a+b
        print(a)
        b=a+b
        print(b)

    第一个月跟第二个月一样  变化是从第三个月开始变化的 先求出第一跟第二月的兔子的数目  从第三个月前两数开始想加

    第三个月+第四个月=第五个月
    第四个月+第五个月=第六个月
    .
    .
    .
    a+b=a
    b+a=b
     

    展开全文
  • 最小的能被1-20中每个数整除的正整数是多少?解题方法: 使用最简单的方法,20开始,那个数最先被1-20中每个数整除,那就是所求,但这种不一定是最好的方法。程序: public class SmallestMultiple { public ...

    题目:
    2520是最小的能被1-10中每个数字整除的正整数。
    最小的能被1-20中每个数整除的正整数是多少?

    解题方法:
    使用最简单的方法,从20开始,那个数最先被1-20中每个数整除,那就是所求,但这种不一定是最好的方法。

    程序:
    public class SmallestMultiple {
    public static int smallestMultiple(int num){
    int n=0;
    for(int i=num; ; i++)
    {
    for(int j=1;j<=num;j++)
    {
    if(i%j!=0) break;
    n++;
    }
    if(n==num) return i;
    else n=0;
    }
    }

    public static void main(String[] args) {
        System.out.println(SmallestMultiple.smallestMultiple(20));
    
    }
    

    }

    展开全文
  • 题目:一整数,它加上100后是一完全平方数,再加上168又是一完全平方数,请问该数是多少? 【程序4】 题目:输入某年某月某日,判断这一天是这一年的几天? 【程序5】 题目:输入三整数x,y,z,请把这三...
  • [PConline技巧]不知不觉,Win10与我们相伴已经整整四个年头了,最开始的组团抗拒到现在的默默接受,个中滋味相信谁心里都有个数。近日微软开始推送“Win10更新月版”,那么Win10中到底都有哪些“骚”操作?一...

    你没玩过的全新版本!Win10这些骚操作你知多少

    [PConline技巧]不知不觉,Win10与我们相伴已经整整四个年头了,从最开始的组团抗拒到现在的默默接受,个中滋味相信谁心里都有个数。近日微软开始推送“Win10更新五月版”,那么Win10中到底都有哪些“骚”操作?一起来看看吧。

      1. 夜间模式

      都9102年了,我发现竟然还有小伙伴在使用第三方去蓝光软件。“夜间模式”是Win10自带的一款去蓝光功能,能够快速去除屏幕蓝光。除了自定义去蓝光强度以外,Win10还能用户自由设置启闭模式。启闭模式分为两种,一是固定时间启闭,二是根据当前地点的日出日落时间自动启闭。

    Win10技巧 Windows10技巧
    日间模式vs夜间模式

      2. 日历

      经常有小伙伴问,Win10下哪一款日历最好用?其实Win10内置的日历就已经很好用了。

      Win10日历对于普通用户的第一感受,莫过于桌面右下角的日历面板,没错!它其实已经算是Win10日历的一部分。虽然面积不大,但提供的功能可一点儿都不少。节日、节气、农历……,凡是应该显示的,几乎都能在这个面板中看到。而它最厉害的地方,是可以显示当前所有的待办事项。

    Win10技巧 Windows10技巧
    右下角日历面板

      点击日程或者“+”即可进入完整版日历,完整版日历提供了与第三方软件相类似的功能。比方说你可以在这里添加日程,为自己的日程设置独立或默认提醒时间,支持日程分组,以便区分使用者的工作与生活。此外这里还可以查看到最近几天的天气情况,以便于安排出行。

    Win10技巧 Windows10技巧
    完整版日历

      除此之外,Win10日历还有一个特殊的功能,那就是添加比赛提醒。点击左下角“添加日历”,然后勾选自己感兴趣的赛事,到了比赛日期,Win10日历就会自动提醒你关注了!

    Win10技巧 Windows10技巧
    添加体育赛事日程

      3. 自动整理硬盘

      现在的硬盘都是一键式整理,可点击那一下还是让很多人感觉麻烦!其实Win10本身已经内置了一项自动清理功能,只要进入“设置”→“系统”→“存储”,打开右侧的“存储感知”,接下来配置好自动清理频率。到了固定时间,Win10就会自动清除上述位置的垃圾文件。

    Win10技巧 Windows10技巧
    自动清理硬盘

      如果你使用的是固态硬盘,也可以勾选“优化驱动器”下方的“自动优化驱动器”。它能保证你的硬盘随时随地工作在最佳状态!

    Win10技巧 Windows10技巧
    自动优化驱动器

      4. A电脑内容复制到B电脑

      将A电脑内容复制到B电脑,似乎有很多种解法,QQ、微信、U盘、FTP……,但其实一个更简单的办法,是借助Win10里的“云剪贴板”。

      具体方法:点击“设置”→“系统”→“剪贴板”,开启“剪贴板历史记录”、“跨设备同步”。当有内容复制到剪贴板时,Win10会自动将内容同步到云端。通俗理解,就是你在A电脑按下Ctrl+C,接下来在B电脑通过Ctrl+V实现粘贴。

    Win10技巧 Windows10技巧
    跨设备同步剪贴板

    2自带沙盒虚拟机?

      5. 非活动窗口也可以使用滚轮

      正常模式下,鼠标滚轮只针对当前窗口有效,但Win10中却有一项设置,可以让你的滚轮同时操纵非活动窗口。这项功能位于“设置”→“设备”→“鼠标”,打开“当我悬停在非活动窗口上方时对其进行滚动”即可体验它。如果你还在使用第三方软件实现这一功能,不如赶快卸了吧。

    Win10技巧 Windows10技巧
    非活动窗口也能用滚轮

      6. 用电脑来发短信

      在Win10的眼中,手机与PC其实就是一个屏大屏小的区别。“你的手机”是一款专门用来链接PC和手机端的小工具,你可以在PC端发送手机短信、在PC端接收手机来电通知、在PC端查看短信微信,在PC端浏览与删除手机照片。总之它的最大特点,就是让手机与PC间没有界限。遗憾的是,这项功能暂时还未对大陆地区开放,耐心等待吧!

    Win10技巧 Windows10技巧
    PC手机联动

      7. 电影更耐看

      HDR是“应用”面板里的一项功能,开启后,可以让视频自动以高动态(HDR)方式播放(通俗理解就是画面细节更丰富了)。不过这项功能对于显示器有一定要求,老电脑肯定不行了,如果你使用的是新电脑,打开这个开关试一试,相信会有不错的体验。

    Win10技巧 Windows10技巧
    HDR vs 普通模式

      8. 游戏直播

      游戏直播是XBOX里的一项功能,包含游戏截屏、录像、视频直播几项功能。按下快捷键Win+G,你可以清楚地看到几个面板,这里的面板可以根据需要保留或关闭,也可以指定是否在前台显示。由于是Win10自带的功能,实际视频效果还是相当不错的,资源占用低,清晰度也高。而且它还会自动对你的电脑进行检测,如果硬件配置不满足直播要求,将无法启动。

    Win10技巧 Windows10技巧
    游戏直播

      9. 沙盒

      “沙盒”可以简单理解为Win10自带的一台虚拟机,如果某个.exe文件不确定安全性,那么最简单一个方法就是把它放到沙盒里“测试”一下。默认情况下,你是无法在Win10里找到这项功能的,我们需要借助“程序和功能”→“启动或关闭Windows功能”手动安装它。而且这项功能同时需要启动BIOS里的处理器虚拟化(HT)技术,技术党们不妨一试。

    Win10技巧 Windows10技巧
    Win10内置的“虚拟机”

    3手机内容投影到电脑?

      10. 手机屏幕投影到电脑上

      很多做视频的小伙伴,会使用第三方工具为手机录屏,其实Win10同样也能实现类似的操作。具体方法是:电脑端打开“设置”→“系统”→“投影到此电脑”,手机端选择“无线显示”或“多屏互动”。稍等片刻后,手机端的界面就被自动投影到电脑中了,流畅度很高。

    Win10技巧 Windows10技巧
    将手机屏幕投影到电脑上

      11. 输入法的U模式你试过么?

      遇到生僻字时,很多人第一个想到的就是第三方输入法。其实大家往往都忽略了Win10自带的输入法,这款Win10自带的微软拼音,历经N次迭代后已经变得非常强大。除了第三方输入法中一些常规功能外,我们也能借助它实现生僻字输入。比如“焱”这个字,一般情况下借助传统输入是很难搞定它的,而在Win10版微信拼音中,只要输入字符串“u”+“huohuohuo”就可以啦!

    Win10技巧 Windows10技巧
    强悍的内置输入法

      除此之外,Win10内置输入法也能实现很多特殊字符输入,和第三方输入法非常相似。

      12. 多彩鼠标

      很多人并不知道,其实Win10的鼠标也是能够任意变换颜色的。看腻了白+黑,给自己的鼠标换换色吧。你会发现,鼠标的世界原来也能如此多彩!

    Win10技巧 Windows10技巧
    多彩鼠标

      13. 色弱模式

      Win10自带了一种特殊的颜色模式,称为“颜色滤镜”,虽然包含“滤镜”两个字,可这货其实和拍照没有半毛钱联系,它原来是给色弱或色盲用户准备的一种特殊颜色模式。

    Win10技巧 Windows10技巧
    Win10颜色滤镜

      进入滤镜后,你能看到很多与之相关的色彩模式。这里咱们要普及一下,其实色弱者并非什么颜色都看不见,他们只不过是对一种或几种颜色分辨不佳罢了。而在色弱者范围内,“红-绿”色弱是相对人数最多的。其实Win10的这项功能的主要作用,是通过调整不同颜色的输出强度,来帮助色弱用户分辨相近色彩,而非医学上的色觉纠正,使用时只要选择与自己色彩障碍相符的滤镜类型即可。

      14. 随意截图

      Win10内部集成了一项非常好用的截图功能,任何时候当你想要截图时,只要按下快捷键Win+Shift+S,屏幕上就会自动出现截图面板。默认情况下,系统弹出的是“矩形截图”,但你也可以通过鼠标选择其他的截图类型(如窗口截图、全屏截图、自定义截图)。截取完成后,截图会自动复制到剪贴板中,将它直接粘贴到需要使用的地方即可。

    Win10技巧 Windows10技巧
    Win10内置的截图

      15. 虚拟桌面

      很多人都用过虚拟桌面软件,一个桌面做聊天,一个桌面做演示,方便得简直不要不要的。其实Win10自己也内置了一项虚拟桌面功能,新桌面通过任务栏→“任务视图”生成,然后再通过Win+←/→实现“桌面”间的来回切换。Win10允许应用“跨越”虚拟桌面显示,也可以局限在自己的虚拟桌面里。

    Win10技巧 Windows10技巧
    Win10虚拟桌面

      16. 就近共享

      如果你手边没有U盘,又需要在电脑间传递文件,就可以利用这项功能。“就近共享”是Win10里的一项短距文件共享服务,只要共享双方支持蓝牙或WIFI,便可以通过“右击”→“共享”向另一方传递文件。对方同意后,会自动建立点对点传输机制。唯一的问题,是蓝牙传输速率不高,文件传递比较慢,而且有些文件是无法传递的。

    Win10技巧 Windows10技巧
    就近共享

    Win10技巧 Windows10技巧
    接收方提示

    4上帝模式你晓得吗?

      17. 离开办公室自动锁屏

      离开办公室自动锁屏其实是对Win10里一项“动态锁”功能的最通俗解释,只要你的电脑配有蓝牙适配器,即可打开“设置”→“账户”→“登录选项”,勾选“允许Windows在你离开时自动锁定设备”来启动动态锁功能。简单来说,你可以将手机设置为与办公电脑的配对硬件,当你离开电脑达到一段距离时(比如到了你们办公室门口),Win10会自动认为你已经远离电脑,从而自动锁定屏幕,以防别人偷瞄。

    Win10技巧 Windows10技巧
    动态锁可以让你离开电脑后自动锁定

      18. 时间线

      “时间线”其实就是一个大的历史面板,除了历史面板常规功能外,你还可以在这里看到与当前Windows Live账户所绑定账户相同的其他设备的历史记录。如果将文件存储于云,那么你可以借助这项功能,从任何设备上继续中断的工作。

      调出“时间线”的方法很简单,点击任务栏“任务视图”或者按下快捷键Win+Tab均可,此外它也是虚拟桌面的切换快捷键。

    Win10技巧 Windows10技巧
    时间线

      19. 上帝模式

      “上帝模式”最早起源于Win7,其实就是一个完全版控制面板。简单来说,你可以在这里找到Windows里的所有设置。

    Win10技巧 Windows10技巧
    上帝模式

      要启用上帝模式,你需要新建一个空白文件夹,然后右击该文件夹,将其改名为“上帝模式.{ED7BA470-8E54-465E-825C-99712043E01C}.”。回车后,文件夹会变成一个控制面板样子。双击打开后,就会出现上图这个效果。

      Win10会将所有设置集中到一起,并根据任务类别进行分类。而我们要做的,仅仅是双击打开即可。

      20. 卓越性能模式

      很多人都知道Win10内部其实是包含多种电源模式的,比方说设为“高性能”模式,就可以最大程度榨干系统的潜能。其实除了这个“高性能”以外,Win10还隐藏着另一种级别更高的电源模式,称为“卓越性能模式”。

    Win10技巧 Windows10技巧
    卓越性能模式

      卓越性能模式并非公开功能,我们需要通过PowerShell手工开启它。具体方法是,通过管理员身份启动Windows PowerShell,然后输入代码“powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61”,回车后卓越性能模式便可以在电源选项中出现了。

      “卓越性能”模式相比“高性能”更为高效,但对于电脑硬件的要求也较高,在高配电脑上可以明显感觉到性能的提升。虽然实际情况很大程度上取决于终端电脑的实际配置,但对于很多Win10爱好者来说,这绝对是一个值得一试的功能。

      21. 右键开始菜单

      Win10开始菜单已经逐渐被大家所熟识,但其实在它的背后,还“隐藏”着另一个简易版“开始菜单”。

      右击开始按钮,你会看到一个功能强大的启动列表。在这个列表中,有着很多像磁盘管理、事件查看器、Windows PowerShell这样的系统类工具。和标准开始菜单相比,隐藏版菜单在界面上更简洁,而功能上则更倾向于设置类操作。

    Win10技巧 Windows10技巧
    右键开始菜单

      写在最后

      好了,这就是小编总结的几组Win10内置的“骚”操作,是不是很给力。其实相对于性能,Win10在功能方面的变化更加给力,以至于很多第三方软件都被它“抢”了风头。好了,今天提到的这些Win10“骚”操作,你都Get了么!赶快动起鼠标试一试吧。

    来源:https://www.pconline.com.cn/win10/1264/12648541_all.html#content_page_1

    转载于:https://www.cnblogs.com/LOVEYU/p/11460885.html

    展开全文
  • 计算机网络第五版谢希仁答案

    千次下载 热门讨论 2010-03-29 22:51:59
    若应用层数据长度为1000字节,数据的传输效率是多少? 解:(1)100/(100+20+20+18)=63.3% (2)1000/(1000+20+20+18)=94.5% 1-20 网络体系结构为什么要采用分层次的结构?试举出一些与分层体系结构的思想相似...
  •  (2)建议标准(Proposed Standard) ——阶段开始就成为 RFC 文档。 (3)草案标准(Draft Standard) (4) 因特网标准(Internet Standard) 1-07小写和大写开头的英文名字 internet 和Internet在意思上有何...
  • 例如{2,4,3,4,7}中,第一大的数是7,位置在4。第二大、第三大的数都是4,位置在1、3随便输出哪一个均可。 3.5.3 给40亿个不重复的unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在...
  • 目录一、煤球数目二、生日蜡烛三、凑算式四、分小组、抽签六、方格填七、剪邮票八、四平方和九、取球博弈十、压缩变换 ...某君某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根的蜡烛。 现

    一、煤球数目

    有一堆煤球,堆成三角棱锥形。具体:
    第一层放1个,
    第二层3个(排列成三角形),
    第三层6个(排列成三角形),
    第四层10个(排列成三角形),

    如果一共有100层,共有多少个煤球?

    请填表示煤球总数目的数字。
    注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

    答案:171700
    
    package 第七届Java大学B组;
    
    public class NO1 {
    	public static void main(String[]args) {
    		int sum=0;//总数
    		int a=1;//这一层的数量
    		int b=2;//每一层比上一层多增加的
    		for(int i=1;i<=100;i++) {
    			sum+=a;
    			a+=b;
    			b++;
    		}
    		System.out.println(sum);
    	}
    
    }
    
    

    二、生日蜡烛

    某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。

    现在算起来,他一共吹熄了236根蜡烛。

    请问,他从多少岁开始过生日party的?

    请填写他开始过生日party的年龄数。
    注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

    答案:26
    
    package 第七届Java大学B组;
    
    public class NO2 {
    	public static void main(String[]args) {
    		for(int i=1;i<=100;i++) {
    			int sum=0;
    			for(int j=i;j<=100;j++) {
    				sum+=j;
    				if(sum==236) {
    					System.out.println(i);
    					break;
    				}
    			}
    			
    		}
    		
    	}
    
    }
    
    

    三、凑算式

    凑算式
    在这里插入图片描述

    这个算式中A ~ I代表1 ~ 9的数字,不同
    的字母代表不同的数字。

    比如:
    6+8/3+952/714 就是一种解法,
    5+3/1+972/486 是另一种解法。

    这个算式一共有多少种解法?

    注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

    答案:29
    
    package 第七届Java大学B组;
    
    public class NO3 {
    	public static void main(String[]args) {
    		int sum=0;
    		for(double a=1;a<=9;a++) {
    			for(double b=1;b<=9;b++) {
    				if(a==b)
    					continue;
    				for(double c=1;c<=9;c++) {
    					if(c==a || c==b)
    						continue;
    					for(double d=1;d<=9;d++) {
    						if(d==a || d==b || d==c)
    							continue;
    						for(double e=1;e<=9;e++) {
    							if(e==a || e==b || e==c || e==d)
    								continue;
    							for(double f=1;f<=9;f++) {
    								if(f==a || f==b || f==c || f==d || f==e)
    									continue;
    								for(double g=1;g<=9;g++) {
    									if(g==a || g==b || g==c || g==d || g==e || g==f)
    										continue;
    									for(double h=1;h<=9;h++) {
    										if(h==a || h==b || h==c || h==d || h==e || h==f || h==g)
    											continue;
    										for(double i=1;i<=9;i++) {
    											if(i==a || i==b || i==c || i==d || i==e || i==f || i==g || i==h)
    												continue;
    											if(a+b/c+(d*100+e*10+f)/(g*100+h*10+i)==10) {
    												sum++;
    												
    											}
    										}
    									}
    								}
    							}
    						}
    					}
    				}
    			}
    		}
    		System.out.println(sum);
    	}
    
    }
    
    

    四、分小组

    9名运动员参加比赛,需要分3组进行预赛。
    有哪些分组的方案呢?

    我们标记运动员为 A,B,C,… I
    下面的程序列出了所有的分组方法。

    该程序的正常输出为:
    ABC DEF GHI
    ABC DEG FHI
    ABC DEH FGI
    ABC DEI FGH
    ABC DFG EHI
    ABC DFH EGI
    ABC DFI EGH
    ABC DGH EFI
    ABC DGI EFH
    ABC DHI EFG
    ABC EFG DHI
    ABC EFH DGI
    ABC EFI DGH
    ABC EGH DFI
    ABC EGI DFH
    ABC EHI DFG
    ABC FGH DEI
    ABC FGI DEH
    ABC FHI DEG
    ABC GHI DEF
    ABD CEF GHI
    ABD CEG FHI
    ABD CEH FGI
    ABD CEI FGH
    ABD CFG EHI
    ABD CFH EGI
    ABD CFI EGH
    ABD CGH EFI
    ABD CGI EFH
    ABD CHI EFG
    ABD EFG CHI
    … (以下省略,总共560行)。

    public class A
    {
        public static String remain(int[] a)
        {
            String s = "";
            for(int i=0; i<a.length; i++){
                if(a[i] == 0) s += (char)(i+'A');
            }    
            return s;
        }
    
        public static void f(String s, int[] a)
        {
            for(int i=0; i<a.length; i++){
                if(a[i]==1) continue;
                a[i] = 1;
                for(int j=i+1; j<a.length; j++){
                    if(a[j]==1) continue;
                     a[j]=1;
                   for(int k=j+1; k<a.length; k++){
                        if(a[k]==1) continue;
                        a[k]=1;
                        System.out.println(__________________________________);  //填空位置
                        a[k]=0;
                    }
                    a[j]=0;
                }
                a[i] = 0;
            }
        }
    
        public static void main(String[] args)
        {
            int[] a = new int[9];        
            a[0] = 1;
        
            for(int b=1; b<a.length; b++){
                a[b] = 1;
                for(int c=b+1; c<a.length; c++){
                    a[c] = 1;
                    String s = "A" + (char)(b+'A') + (char)(c+'A');
                    f(s,a);
                    a[c] = 0;
                }
                 a[b] = 0;
            }
        }
    }
    

    仔细阅读代码,填写划线部分缺少的内容。

    注意:不要填写任何已有内容或说明性文字。

    答案:s + (char) (i + 'A') + (char) (j + 'A') + (char) (k + 'A') + remain(a)
    

    五、抽签

    X星球要派出一个5人组成的观察团前往W星。
    其中:
    A国最多可以派出4人。
    B国最多可以派出2人。
    C国最多可以派出2人。
    D国最多可以派出1人。
    E国最多可以派出1人。
    F国最多可以派出3人。

    那么最终派往W星的观察团会有多少种国别的不同组合呢?

    下面的程序解决了这个问题。
    数组a[] 中既是每个国家可以派出的最多的名额。
    程序执行结果为:
    DEFFF
    CEFFF
    CDFFF
    CDEFF
    CCFFF
    CCEFF
    CCDFF
    CCDEF
    BEFFF
    BDFFF
    BDEFF
    BCFFF
    BCEFF
    BCDFF
    BCDEF

    (以下省略,总共101行)

    public class A
    {
        public static void f(int[] a, int k, int n, String s)
        {
            if(k==a.length){ 
                if(n==0) System.out.println(s);
                return;
            }
        
            String s2 = s;
            for(int i=0; i<=a[k]; i++){
                _____________________________;   //填空位置
                s2 += (char)(k+'A');
            }
        }
    
        public static void main(String[] args)
        {
            int[] a = {4,2,2,1,1,3};
        
            f(a,0,5,"");
        }
    }
    

    仔细阅读代码,填写划线部分缺少的内容。

    注意:不要填写任何已有内容或说明性文字。

    答案:f(a,k+1,n-i,s2);
    k是请第几个国家的人,n是还剩几个人凑够五个
    

    六、方格填数

    如下的10个格子
    在这里插入图片描述
    填入0~9的数字。要求:连续的两个数字不能相邻。
    (左右、上下、对角都算相邻)

    一共有多少种可能的填数方案?

    请填写表示方案数目的整数。
    注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

    答案:1580
    
    package 第七届Java大学B组;
    
    public class NO6 {
    	private static int a[]=new int[10];//记录数字是否被用过,如果被用过则标记为1,否则为0
    	private static int num[][]=new int[5][6];//表示方格
    	private static int count=0;
    	public static void main(String[]args) {
    		//初始化为-1,表示当前位置没有数字填入
    		for(int i=0;i<5;i++) {
    			for(int j=0;j<6;j++) {
    				num[i][j]=-10;
    			}
    		}
    		
    		func(1,2);//(1,1)点不在范围内,从(1,2)开始
    		System.out.println(count);
    	}
    	private static void func(int x, int y) {
    		if(x==3 && y==4) {//(3,4)点也不在范围内,走到这个地方就可以停了
    			count++;
    			return;
    		}
    		for(int i=0;i<=9;i++) {
    			if(a[i]==0) {//如果当前数字没有被用过
    				num[x][y]=i; //填入数字
    				if(!check(x,y)) {//填入后如果检测到相邻,则恢复原状态
    					num[x][y]=-10;
    					continue;
    				}
    				a[i]=1; //标记为已经访问
    				
    				if(y==4) //当前行遍历完就换行
    					func(x+1,1);
    				else //当前行没有遍历完就继续下一列
    					func(x,y+1);
    				
    				a[i]=0;
    				num[x][y]=-10;
    			}
    		}
    	}
    	
    	//判断是否相邻
    	private static boolean check(int x, int y) {
    		for(int i=x-1;i<=x+1;i++) {
    			for(int j=y-1;j<=y+1;j++) {
    				if(Math.abs(num[i][j]-num[x][y])==1)
    					return false;
    			}
    		}
    		return true;
    		
    	}
    
    }
    
    

    七、剪邮票(*)

    如图一, 有12张连在一起的12生肖的邮票。
    现在你要从中剪下5张来,要求必须是连着的。
    (仅仅连接一个角不算相连)
    比如,图二、图三中,粉红色所示部分就是合格的剪取。

    请你计算,一共有多少种不同的剪取方法。

    请填写表示方案数目的整数。
    注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

    图一

    图二
    在这里插入图片描述

    图三
    在这里插入图片描述

    package 第七届Java大学B组;
    
    public class NO7 {
    	private static int a[]= {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1};
    	private static boolean vis[]=new boolean[12];//记录当前格子有没有被剪下来
    	private static int res=0;
    	
    	public static void main(String[]args) {
    		int path[]=new int[12];
    		func(0,path);
    		System.out.println(res);
    	}
    
    	private static void func(int m, int[] path) {
    		if(m==12) {
    			if(check(path))
    				res++;
    		}
    		for(int i=0;i<12;i++) {
    			if(i>0 && a[i]==a[i-1] && !vis[i-1])
    				continue;
    			if(!vis[i]) {
    				vis[i]=true;
    				path[m]=a[i];
    				func(m+1,path);
    				vis[i]=false;
    			}
    		}
    		
    	}
    
    	private static boolean check(int[] path) {
    		int x[][]=new int[3][4];
    		for(int i=0;i<3;i++) {
    			for(int j=0;j<4;j++) {
    				if(path[i*4+j]==1)
    					x[i][j]=1;
    				else
    					x[i][j]=0;
    			}
    		}
    		int count=0;
    		for (int i = 0; i < 3; ++i) {
    			for (int j = 0; j < 4; ++j) {
    				if (x[i][j] == 1) {
    					dfs(x, i, j);
    					count++;
    				}
    			}
    		}
    		return count==1;
    	}
    
    	private static void dfs(int[][] x, int i, int j) {
    		x[i][j] = 0;
    		if (i - 1 >= 0 && x[i - 1][j] == 1)
    			dfs(x, i - 1, j);
    		if (i + 1 <= 2 && x[i + 1][j] == 1)
    			dfs(x, i + 1, j);
    		if (j - 1 >= 0 && x[i][j - 1] == 1)
    			dfs(x, i, j - 1);
    		if (j + 1 <= 3 && x[i][j + 1] == 1)
    			dfs(x, i, j + 1);
    		
    	}
    }
    
    

    八、四平方和

    四平方和定理,又称为拉格朗日定理:
    每个正整数都可以表示为至多4个正整数的平方和。
    如果把0包括进去,就正好可以表示为4个数的平方和。

    比如:
    5 = 0^2 + 0^2 + 1^2 + 2^2
    7 = 1^2 + 1^2 + 1^2 + 2^2
    (^符号表示乘方的意思)

    对于一个给定的正整数,可能存在多种平方和的表示法。
    要求你对4个数排序:
    0 <= a <= b <= c <= d
    并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个表示法

    程序输入为一个正整数N (N<5000000)
    要求输出4个非负整数,按从小到大排序,中间用空格分开

    例如,输入:
    5

    则程序应该输出:
    0 0 1 2

    再例如,输入:
    12

    则程序应该输出:
    0 2 2 2

    再例如,输入:
    773535

    则程序应该输出:
    1 1 267 838

    资源约定:
    峰值内存消耗(含虚拟机) < 256M
    CPU消耗 < 3000ms

    请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

    所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
    注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
    注意:主类的名字必须是:Main,否则按无效代码处理。

    package 第七届Java大学B组;
    
    import java.util.Scanner;
    
    public class NO8 {
    	public static void main(String[]args) {
    		Scanner scan=new Scanner(System.in);
    		int n=scan.nextInt();
    		scan.close();
    		
    		for(int a=0;a<2300;a++) {
    			for(int b=a;b<2300;b++) {
    				for(int c=b;c<2300;c++) {
    					for(int d=c;d<2300;d++) {
    						if(a*a+b*b+c*c+d*d==n) {
    							System.out.println(a+" "+b+" "+c+" "+d);
    							return ;
    						}
    					}
    				}
    			}
    		}
    	}
    
    }
    
    

    九、取球博弈(*)

    两个人玩取球的游戏。
    一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。
    如果无法继续取球,则游戏结束。
    此时,持有奇数个球的一方获胜。
    如果两人都是奇数,则为平局。

    假设双方都采用最聪明的取法,
    第一个取球的人一定能赢吗?
    试编程解决这个问题。

    输入格式:
    第一行3个正整数n1 n2 n3,空格分开,表示每次可取的数目 (0<n1,n2,n3<100)
    第二行5个正整数x1 x2 … x5,空格分开,表示5局的初始球数(0<xi<1000)

    输出格式:
    一行5个字符,空格分开。分别表示每局先取球的人能否获胜。
    能获胜则输出+,
    次之,如有办法逼平对手,输出0,
    无论如何都会输,则输出-

    例如,输入:
    1 2 3
    1 2 3 4 5

    程序应该输出:
    + 0 + 0 -

    再例如,输入:
    1 4 5
    10 11 12 13 15

    程序应该输出:
    0 - 0 + +

    再例如,输入:
    2 3 5
    7 8 9 10 11

    程序应该输出:
    + 0 0 0 0

    资源约定:
    峰值内存消耗(含虚拟机) < 256M
    CPU消耗 < 3000ms

    请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

    所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
    注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
    注意:主类的名字必须是:Main,否则按无效代码处理。

    package 第七届Java大学B组;
    
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class NO9 {
    	private static char cache[][][]=new char[1000][2][2];
    	
    	public static void main(String[]args) {
    		Scanner scan=new Scanner(System.in);
    		int n[]=new int[3]; //可选的取球数
    		int x[]=new int[5]; //每局的初始球数
    		
    		for(int i=0;i<3;i++)
    			n[i]=scan.nextInt();
    		
    		for(int i=0;i<5;i++)
    			x[i]=scan.nextInt();
    		
    		scan.close();
    		
    		Arrays.sort(n); 
    		
    		for(int i=0;i<5;i++) {
    			System.out.print(func(0,0,n,x[i])+" ");
    		}
    	}
    
    	//x是剩余球数,a先取球,b后取球,ab表示的是两人的奇偶性
    	private static char func(int a,int b,int[] n, int x) {
    		if(x<n[0]) {//如果要取的球数比剩余球数多,则无法继续取球,结束递归
    			if(a%2==1 && b%2==0)
    				return '+';
    			else if(a%2==0 && b%2==1)
    				return '-';
    			else
    				return '0';
    		}
    		
    		if(cache[x][a][b]!='\0')
    			return cache[x][a][b];
    		
    		boolean pingju=false; //判断是否平局
    		for(int i=0;i<3;i++) {
    			if(x>=n[i]) {//如果剩余球数比要取的球数多
    				char res;
    				//a取球,总球数减少,然后变成b先取球a后取球
    				if(n[i]%2==0)
    				    res=func(b,a,n,x-n[i]); //如果可取球数是偶数,那么取完后a还是偶数
    				else  //如果可取球数是奇数,那么取完后a是奇数,变成1-a
    					res=func(b,1-a,n,x-n[i]); 
    				if(res=='-') {
    					cache[x][a][b]='+';
    					return '+';
    				}
    				else if(res=='0')
    					pingju=true;
    			}
    		}
    		if(pingju) {
    			cache[x][a][b]='0';
    			return '0';
    		}
    		else {
    			cache[x][a][b]='-';
    			return '-';
    		}
    		    
    	}
    }
    
    

    十、压缩变换

    小明最近在研究压缩算法。
    他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比。
    然而,要使数值很小是一个挑战。

    最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面出现的数字很大可能是刚出现过不久的数字。对于这种特殊的序列,小明准备对序列做一个变换来减小数字的值。

    变换的过程如下:
    从左到右枚举序列,每枚举到一个数字,如果这个数字没有出现过,刚将数字变换成它的相反数,如果数字出现过,则看它在原序列中最后的一次出现后面(且在当前数前面)出现了几种数字,用这个种类数替换原来的数字。

    比如,序列(a1, a2, a3, a4, a5)=(1, 2, 2, 1, 2)在变换过程为:
    a1: 1未出现过,所以a1变为-1;
    a2: 2未出现过,所以a2变为-2;
    a3: 2出现过,最后一次为原序列的a2,在a2后、a3前有0种数字,所以a3变为0;
    a4: 1出现过,最后一次为原序列的a1,在a1后、a4前有1种数字,所以a4变为1;
    a5: 2出现过,最后一次为原序列的a3,在a3后、a5前有1种数字,所以a5变为1。
    现在,给出原序列,请问,按这种变换规则变换后的序列是什么。

    输入格式:
    输入第一行包含一个整数n,表示序列的长度。
    第二行包含n个正整数,表示输入序列。

    输出格式:
    输出一行,包含n个数,表示变换后的序列。

    例如,输入:
    5
    1 2 2 1 2

    程序应该输出:
    -1 -2 0 1 1

    再例如,输入:
    12
    1 1 2 3 2 3 1 2 2 2 3 1

    程序应该输出:
    -1 0 -2 -3 1 1 2 2 0 0 2 2

    数据规模与约定
    对于30%的数据,n<=1000;
    对于50%的数据,n<=30000;
    对于100%的数据,1 <=n<=100000,1<=ai<=10^9

    资源约定:
    峰值内存消耗(含虚拟机) < 256M
    CPU消耗 < 3000ms

    请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

    所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
    注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
    注意:主类的名字必须是:Main,否则按无效代码处理。

    Set 时间超限

    package 第七届Java大学B组;
    
    import java.util.Arrays;
    import java.util.HashSet;
    import java.util.Scanner;
    import java.util.Set;
    
    public class NO10 {
    	private static int num[];//原序列
    	private static int num1[];//变换后的序列
    	
    	public static void main(String[]args) {
    		Scanner scan=new Scanner(System.in);
    		int n=scan.nextInt();
    		num=new int[n];
    		num1=new int[n];
    		for(int i=0;i<n;i++)
    			num[i]=scan.nextInt();
    		
    		scan.close();
    		
    		Set<Integer> set=new HashSet<Integer>();
    		
    		num1[0]=num[0]*(-1);//第一个数字肯定没有出现过,直接变成相反数
    		
    		for(int i=1;i<num.length;i++) {
    			set.clear();
    			for(int j=0;j<i;j++) {
    				set.add(num[j]);
    			}
    			if(!set.contains(num[i])) //如果当前数字目前没有出现过
    				num1[i]=(-1)*num[i];
    			else {
    				for(int k=i-1;k>=0;k--) { //找到当前数字最后一次出现的位置
    					if(num[k]==num[i]) {
    						set.clear();
    						for(int m=k+1;m<i;m++) {
    							set.add(num[m]);
    						}
    						break;
    					}
    				}
    				num1[i]=set.size();
    			}
        	}
    		for(int i=0;i<num1.length;i++)
    			System.out.print(num1[i]+" ");
    	}
    
    }
    
    

    Map 参考:https://blog.csdn.net/qq_39630587/article/details/79368232

    import java.util.HashMap;
    import java.util.Map;
    import java.util.Scanner;
     
    public class Main {  
    	static int[] a, b;
    	static int n;
    	static boolean[] flag;
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		n = in.nextInt();
    		a = new int[n + 1];
    		b = new int[n + 1];
    		flag = new boolean[n + 1];
    		for (int i = 0; i < a.length-1; i++) {
    			a[i] = in.nextInt();
    			if (i == 0) {
    				b[i] = -1 * a[i];
    			}
    		}
    		
    		Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    		for (int i = 1; i < a.length; i++) {
    			if (!map.containsKey(a[i])) {
    				b[i] = -a[i];
    				map.put(a[i], i);
    				flag[i] = true;
    			} else {
    				int last = map.get(a[i]);
    				b[i] = cnt(last+1, i);
    				flag[last] = false;
    				map.put(a[i], i);
    				flag[i] = true;
    			}
    			
    		}
    		
    		for (int i = 0; i < b.length-2; i++) {
    			System.out.print(b[i] + " ");
    		}
    		System.out.print(b[b.length-2]);
    	}
    	private static int cnt(int l, int r) {
    		// TODO Auto-generated method stub
    		int sum = 0;
    		for (int i = l; i < r; i++) {
    			if (flag[i] == true) {
    				sum++;
    			}
    		}
    		return sum;
    	}
    }  
    
    展开全文
  • 黑马入学考试试题

    2016-04-12 21:45:03
    黑马程序员训练营入学考试题 1、方法中的内部类能不能访问方法中...10、有100个人围成一圈,1开始数,报到14的这人就要退出。然后其他人重新开始1报数,到14退出。问:最后剩下的100人中的几个人?
  • java 经典习题.doc

    2009-09-16 11:32:59
    题目:一整数,它加上100后是一完全平方数,再加上168又是一完全平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,...
  • 练习P20入门版答案

    2018-04-20 10:51:04
    18. 某本书的页码1开始,小明算了算,总共出现了202个数1,试编程求这本书一共有多少页? 19. 键盘上输入两个不超过32767的整数,试编程序用竖式加法形式显示计算结果。 例如: 输入 123, 85 显示: 123  +...
  • JAVA面试题最全集

    2010-03-13 13:09:10
    IS09000和CMM(软件能力成熟度模型)认证国际上通用的软件质量评估方法.CMM的五个成熟度等级。 一,谈谈final, finally, finalize的区别。 final?修饰符(关键字)如果一个类被声明为final,意味着它不能再...
  • 开始任选一正整数m作为报数上限值,从第一个人开始按顺时针报数,报到m时停止,报m的人出列,将他的密码作为新的m值,他在顺时针方向的下一开始重新1报数,如此下去,直到所有人全部出列为止。...
  •  上例中程序的执行过程,首先在屏幕上显示提示串,请用户输入两个数,回车后由scanf函数语句接收这两个数送入变量x,y中,然后调用max函数,并把x,y 的值传送给max函数的参数a,b。在max函数中比较a,b的大小,把大...
  •  题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人...
  • javascript入门笔记

    2018-05-15 15:01:07
    条件boolean类型的数据,如果条件结果为true,则执行表达式1的内容,并将表达式1的结果作为整体表达式的结果。如果条件为false,则执行表达式2的内容,并将表达式2的结果作为整体表达式的结果 ex: var age ...
  • 疯狂的程序员

    热门讨论 2012-07-18 18:05:32
    想我那个年代,这城市有多少程序员,都能出来。我还报了高程,唉……差一点。” 能去教书当然好,因为去教书才有可能学校里泡妹妹出来,才有可能和他一样牛B。这么想着,绝影说:“我也想做程序员。” “你...
  • 入门学习Linux常用必会60命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    hda1中的“1”代表hda的第一硬盘分区 (partition),hda2代表hda的第二主分区,第逻辑分区hda5开始,依此类推。此外,可以直接检查 /var/log/messages文件,在该文件中可以找到计算机开机后系统已辨认出来的...
  • 能否改变这种连接方法,使用一个具有五个端口的路由器将这五个网络互连起来? 问题4-9:当运行PING 127.0.0.1时,这个IP数据报将发送给谁? 问题4-10:网络前缀指网络号字段(net-id)中前面的几个类别位还是指整个...
  • 想找一份满意的工作吗? 面试中面对外国老板连珠炮似的提问, 有没有觉得心慌意乱、...薪水是多少? 9.如果你离开目前的工作,公司会有什么情况发生? 10.如果在目前的工作做得那么开心,为什么要离开? ...
  • 能否改变这种连接方法,使用一个具有五个端口的路由器将这五个网络互连起来? 问题6-9:当运行PING 127.0.0.1时,这个IP数据报将发送给谁? 问题6-10:网络前缀指网络号字段(net-id)中前面的几个类别比特还是指...
  • Linux的最早起源在1991年10月5日由一位芬兰的大学生Linux Torvalds (Torvalds@kruuna.helsinki.fi)写了 Linux核心程序的 0.02 版开始的,但其后的发展却几乎都 由互联网上的 Linux社团(Linux Community)互通...
  • excel的使用

    2012-11-25 17:06:01
    (1)数组和矩阵的定义矩阵不是一个数,而是一数组。在Excel里,数组占用一片单元域,单元域用大括号表示,例如{A1:C3},以便和普通单元域A1:C3相区别。设置时先选定单元域,同时按Shift+Ctrl+Enter键,大括弧...
  • 其缺点它表示数的容量较小,表示同一个数,二进制较其他进制需要更多的位数。 1-9 请将以下十进制数值转换为二进制和十六进制补码: (1)2 (2)9 (3)93 (4)-32 (5)65535 (6)-1 解: (1) (2)10 = ...
  • 12月24日笔记

    2014-12-24 16:58:00
    一、迭代法:有一定的规律(s=s+n//s+=n) 每次循环都是从上次...7.落球问题:一从10米高度落下,每次弹起2/3的高度,问第五次弹起后的高度是多少? 8.兔子生兔子的问题 一对新生兔,到第三开始生小兔...
  • for应用

    2014-12-24 15:51:00
    应用:迭代法,穷举法。一、迭代法:有一定规律。 每次循环都是上次运算结果中获得数据,本次运算的...问第五次弹起后的高度是多少?8.兔子小兔子的问题。一对新生兔,到三开始生一对小兔,以后每月都会生一...
  • 程序员二进制计算器 v1.36

    热门讨论 2014-07-16 16:21:43
    个数的后面,可以跟有倍率运算符,表示该数乘以相应的倍数,例如: 2w = 20000 (2万) 13y = 1300000000 (13亿) 4k = 4096 3% = 0.03 (百分之3) 详见“倍率运算”部分。 三 运算结果的输出格式 1-指定...
  • 【综合计算显示】 综合计算并显示选中区域存储格的最大值、最小值、平均值、求和、存储格个数、筛选状态下的的加总求和,以及显示选区包含的数字、字符、汉字的个数等信息。 【GB2转BIG5】 将选中区域存储格的简体...
  • 4.6.2 第五范式 135 4.7 非规范化 136 4.8 最佳实践 136 4.9 总结 137 4.10 额外的例子 137 4.11 本书迄今为止所讲述的故事 142 第5章 实现基础的表结构 144 5.1 评审逻辑设计 147 5.2 变换设计 148 5.2.1 ...
  • c++ 面试题 总结

    2009-09-16 08:44:40
    15.用C++写程序,如何判断一操作系统16位还是32位的?不能用sizeof()函数 A1: 16位的系统下, int i = 65536; cout ; // 输出0; int i = 65535; cout ; // 输出-1; 32位的系统下, int i = 65536; cout ; ...

空空如也

空空如也

1 2 3
收藏数 56
精华内容 22
关键字:

从10开始数,第五个数是多少?