`
包子_feiFEI
  • 浏览: 70983 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
文章列表
转 :http://bea.javaeye.com/blog/166344 1 FibonacciFibonacci为1200年代的欧洲数学家,在他的著作中曾经提到:若有一只兔子每个月生一只小兔子,一个月后小兔子也开始生产。起初只有一只兔子,一个月后就有两只兔子,两个月后有三只兔子,三个月后有五只兔子(小兔子投入生产)……这就是Fibonacci数列,一般习惯称之为费式数列,例如:1,1,2,3,5,8,13,21,34,55,89,…… java代码: public class Fibonacci { public static void main(String[] ...
青蛙的约会 转 :http://www.javaeye.com/topic/480856 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。 它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面 为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也 没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个 方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不 然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,你被要求写一个程序来判 断这两只青蛙是否能够碰面, ...
开始用了暴力枚举,后来一看数据这么大,估计肯定超时,无奈上网搜索了一下,考察的是扩展欧几里德算法,还有比较大的整数_int64的处理。 转自http://apps.hi.baidu.com/share/detail/16229280   设过s步后两青蛙相遇,则必满足以下等式:     (x+m*s)-(y+n*s)=k*l(k=0,1,2....)   稍微变一下形得:     (n-m)*s+k*l=x-y 令n-m=a,k=b,x-y=c,即     a*s+b*l=c   只要上式存在整数解,则两青蛙能相遇,否则不能。   首先想到的一个方法是用两次for循环来 ...
转载:http://www.seohim.com/mylife/61.html原理:BufferedReader会一次性从物理流中读取8k(默认数值,可以设置)字节内容到内存,如果外界有请求,就会到这里存取,如果内存里没有才到物理流里再去读。即使读,也是再 8k。;;而直接读物理流,是按字节来读。;; 对物理流的每次读取,都有IO操作。IO操作是最耗费时间的。;;;; BufferedReader就是减少了大量IO操作,而为你节省了时间。;;; 简单的说,一次IO操作,读取一个字节也是读取,读取8k个字节也是读取,两者花费时间相差不多。而一次IO的来回操作却要耗费大量时间。;; 好比是一辆大型汽 ...
从现在开始写报告吧!不能只贴代码了。这题是典型的中国剩余定理(孙子定理)题。具体(百度搜索下~)根据题意其实就是一个数被23整除余数是Lp=p % 23(p被23整除的余数),被28整除余数是Le=e % 28((e被28整除的余数),被33整除余数是Li=i % 33(i被33整除的余数),求这个数的最小正整数。这里之说以要p % 23而不是直接p是因为题目中提示并不是第一次到达最佳状态。 做法: 首先算出能被23整除余1并且能被28和33同时整除的数,能被28整除余1并且能被23和33同时整除的数,能被33整除余1并且能被23和28同时整除的数。所以ei=28*33=924,pi=23* ...
字符比较,注意点:当两行的sum一样的时候(sum即题目中的每一行的反演总次数)要注意代码中最后一个循环里的break;这里用了比较笨的方法~下面是代码。 import java.util.Arrays; import java.util.Scanner; public class Main{ public static void main(String[] args)throws Exception{ Scanner cin=new Scanner(System.in); int lettersNum=cin.nextInt(); int caseNum=cin.n ...
此类问题一般有如下特点:1、博弈模型为两人轮流决策的非合作博弈。即两人轮流进行决策,并且两人都使用最优策略来获取胜利。2、博弈是有限的。即无论两人怎样决策,都会在有限步后决出胜负。3、公平博弈。即两人进 ...
哭了~这道题在提示里面说是送分题,我却老是被提示Wrong Answer可是在eclipse里面明明运行正确的啊~想了好长时间了哎,先把代码贴出来吧,大家帮我看看问题到底出在哪,实在没办法只能去问老师了 更新:已经搞定!!原因是多迭代了一次,以至于本来应该15次结束,弄成了16次结束。比如说“0000000”这个例子,答案应该是can not be classified after 15 iterations但是在原来我的程序里面变成了loop of length 2,原因是第16次迭代的时候刚刚能测出循环。 import java.util.ArrayList; import jav ...
这道题只要找到序列之间的递推关系就可以了。题意就是说在给定的数字的字符串中的位置对应的数字是什么? 比如说给定数字式N那么求在序列的第N位上的数字是什么? squ[i]=squ[i-1]+(数字i的位数如“10”是2位);squ[i]表示“1234...i”中数字的个数 len[i]=len[i-1]+squ[i];len[i]表示“112123....1234..i”中数字的个数 然后先求出所有符合条件的len[i]进行判断。 import java.util.Scanner; public class Main{ public static void ...
具体题目意思是给定一个数k 假设有k个好孩子和k个坏孩子围成一个圈然后给孩子编号,好孩子是1,2...k,坏孩子是k+1,k+2...2k 一个数m使得从1开始围绕着环数,每次到数到m的时候提掉一个孩子,如此循环下去,要求使提掉第一个好孩子之前坏孩子都被踢完了的最小m值。 考虑当倒数第二个坏孩子被踢掉,正要踢最后一个坏孩子时候的情况。得到的结果是m必定是1+(k+1)*n或者 是(k+1)*n(n是1开始的自然数)之所以是两种情况因为倒数第二个坏孩子有可能在最后一个坏孩子之前或者之后。 但是题目提交的时候还是超出了时间,想了很长时间也通过自己手工枚举发现了增量的规律是(k ...
今天不知道怎么回事总是有那样这样奇怪的错误这题一直是runtime error 晕啊,先记录下代码把,哪个大哥帮我看下错在哪...哎,每次结果都正确的...哎!! 下面是代码:题目很简单,就是取余和取整的问题。 import java.util.Scanner; public class Main{ public static void main(String[] args)throws Exception{ Scanner cin=new Scanner(System.in); String[] Haab={"pop","no& ...
终于AC了,原来我一直以为输入是四个字符,四个字符输入的,晕!不过后来还是就解决了哈哈!好了,开始说正题吧! 题意:有12个硬币,其中有一个和其他的硬币重量不一样,然后小X用3次天平称称量这些硬币。输入3组数据样式是“字符字符 字符字符 even|up|down”字符个数不定!!在网上看到过计算在天平不平衡的时候字符出现的次数多少来判断的算法,这里我用了其他的算法,虽然有点麻烦但是效果还是好的。我的做法是,先弄两个数组其中一个是A--L的标识符,如果是1则说明它被确认位真硬币,其他数字则有可能是假币,还有一个数组时字符串数组,来表示如果一个字母在不平衡称量那次里面出现时,并且不能确认他是真 ...
基础题,不多做说明,记录代码用 — —! import java.util.Scanner; public class Main{ public static void main(String[] args)throws Exception{ Scanner cin=new Scanner(System.in); int caseNum=0; while(cin.hasNext()){ int stringNum=cin.nextInt(); if(stringNum==0)break; int start=0,end=stringNum ...
在DISCUSS里的测试数据都通过了,可是还是WA,这让我很不解,先放在这里吧,下次通过来在来改下。 代码围绕3点展开 1.等号两边的都不可能是假 2.不等号两边的币之外的所有币都是真的 3.在同一种不等号两边都出现过的都是真的 import java.util.Scanner; public class Main{ public static void main(String[] args)throws Exception{ Scanner cin=new Scanner(System.in); ...
注意: 1.过早出发的肯定不会是结果,因为如果过早出发还被追上的话那速度肯定比原先的要慢。既然慢了那就不需要考虑了。 2.最后的答案如果是小数的话,那结果必须是大于或者等于这个小数的最小整数。因为如果是四舍五入的话,小于0.5去掉后的那个时间其实还没有到达目的地。 代码: import java.util.Scanner; public class Main{ public static void main(String[] args)throws Exception{ Scanner cin=new Scanner(System.in); while(cin ...
Global site tag (gtag.js) - Google Analytics