第一题:武功秘籍
小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。
他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。
小明只想练习该书的第81页到第92页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走?
这是个整数,请通过浏览器提交该数字,不要填写任何多余的内容。
答案:7
第二题:切面条
一根高筋拉面,中间切一刀,可以得到2根面条。如果先对折1次,
中间切一刀,可以得到3根面条。如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?
答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。
找规律
切n刀时,可以得到2的n次方加1跟面条
答案:1025
第三题: 猜字母
把abcd…s共19个字母组成的序列重复拼接106次,得到长度为2014的串。
接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。
得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。
答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。
答案:q
public static void main(String[] args){
char[] a=new char[2014];
int index=0;
for(int i=1;i<=106;i++){
for(int j=0;j<19;j++){
a[index++]=(char)('a'+j);
}
}
int len=2014;
while(len!=1){
int k=0;
for(int i=1;i<len;i+=2){
a[k++]=a[i];
}
len=k;
}
System.out.println(a[0]);
}
第四题: 大衍数列
中国古代文献中,曾记载过“大衍数列”, 主要用于解释中国传统文化中的太极衍生原理。
它的前几项是:0、2、4、8、12、18、24、32、40、50 …
其规律是:对偶数项,是序号平方再除2,奇数项,是序号平方减1再除2。
以下的代码打印出了大衍数列的前 100 项。
for(int i=1; i<100; i++) {
if(________________) //填空
System.out.println(ii/2);
else
System.out.println((ii-1)/2);
}
请填写划线部分缺失的代码。通过浏览器提交答案。
注意:不要填写题面已有的内容,也不要填写任何说明、解释文字
答案:i%2==0
第五题:圆周率
数学发展历史上,圆周率的计算曾有许多有趣甚至是传奇的故事。
其中许多方法都涉及无穷级数。
如图所示,就是一种用连分数的形式表示的圆周率求法。
下面的程序实现了该求解方法。实际上数列的收敛对x的初始值 并不敏感。
结果打印出圆周率近似值(保留小数点后4位,并不一定与圆周率真值吻合)。
double x = 111;
for(int n = 10000; n>=0; n–){
int i = 2 * n + 1;
x = 2 + (i*i / x);
}
System.out.println(String.format("%.4f", ______________));
答案:4/(x-1)
第六题:奇怪的分式
上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5
小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45
老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!
对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?
请写出所有不同算式的个数(包括题中举例的)。
显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。
但对于分子分母相同的情况,2/2 乘以 3/3 这样的类型太多了,不在计数之列!
注意:答案是个整数(考虑对称性,肯定是偶数)。请通过浏览器提交。不要书写多余的内容。
答案:14
static int ans;
public static void main(String[] args){
for(int a=1;a<=9;a++){
for(int b=1;b<=9;b++){
if(b==a)continue;
for(int c=1;c<=9;c++){
for(int d=1;d<=9;d++){
if(d==c)continue;
int g1=gcd(a*c,b*d);
int g2=gcd(a*10+c,b*10+d);
if((a*c)/g1==(a*10+c)/g2 && (b*d)/g1==(b*10+d)/g2){
ans++;
}
}
}
}
}
System.out.println(ans);
}
//求a,b的最大公约数
static int gcd(int a,int b){
if(b==0)return a;
return gcd(b,a%b);
}
第七题:扑克序列
A A 2 2 3 3 4 4&