目录
第1题 年龄问题
结果填空 (满分11分)
标题:年龄问题s夫人一向很神秘。这会儿有人问起她的年龄,她想了想说:
"20年前,我丈夫的年龄刚好是我的2倍,而现在他的年龄刚好是我的1.5倍"。你能算出s夫人现在的年龄吗?
注意:需要提交的是一个整数,不要填写任何多余的内容。
答案:40
思路:模拟一下,a是丈夫年龄,b是夫人年龄,循环一下,满足条件的输出即可。
public class Main {
public static void main(String[] args) {
for(int a = 21;a<100;a++){
for(int b = 21;b<100;b++){
if((a-20)==(b-20)*2){
if(a==b*1.5){
System.out.println(a+" "+b);
}
}
}
}
}
}
//40
第2题 海盗与金币
结果填空(满分29分)
答案:13 25 49 97 193 385 769 1537 3073 6145 12289 24577
来自:CSDN 作者:萤火虫的微亮 原文:https://blog.csdn.net/weixin_42318538/article/details/89297639
第3题 全排列
代码填空(满分25分)
标题:全排列对于某个串,比如:“1234”,求它的所有全排列。
并且要求这些全排列一定要按照字母的升序排列。
对于“1234”,应该输出(一共4!=24行):
1234
1243
1324
1342
1423
1432
2134
2143
2314
2341
2413
2431
3124
3142
3214
3241
3412
3421
4123
4132
4213
4231
4312
4321下面是实现程序,请仔细分析程序逻辑,并填写划线部分缺少的代码。
// 轮换前k个,再递归处理
import java.util.*;
public class A
{
static void permu(char[] data, int cur){
if(cur==data.length-1){
System.out.println(new String(data));
return;
}
for(int i=cur; i<data.length; i++){
char tmp = data[i];
for(int j=i-1; j>=cur; j--) data[j+1] = data[j];
data[cur] = tmp;permu(data, cur+1);
tmp = data[cur];
__________________________________________ ;
data[i] = tmp;
}
}
static void permu(String x){
permu(x.toCharArray(),0);
}
public static void main(String[] args){
permu("1234");
}
}
请注意:只需要填写划线部分缺少的内容,不要抄写已有的代码或符号。
答案:for(int j=cur; j<i; j++) data[j] = data[j+1];
第4题 约瑟夫环
程序设计(满分49分)
来自:CSDN 作者:萤火虫的微亮 原文:https://blog.csdn.net/weixin_42318538/article/details/8929469
第5题 交换次数
程序设计(满分81分)
来自:CSDN 作者:萤火虫的微亮 原文:https://blog.csdn.net/weixin_42318538/article/details/89301384
第6题 自描述序列
程序设计(满分105分)
下面的代码可以通过所有数据 2000000000000000 结果是3438257305
来自CSDN 作者:萤火虫的微亮 原文:https://blog.csdn.net/weixin_42318538/article/details/89316331