1、煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
….
如果一共有100层,共有多少个煤球?
请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
解答:这其实是一道计算1+3+6+……+5050=?这个式子的和的题目。
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0;
int[] a = new int[101];
for(int i=1;i<=100;i++){
a[i] = a[i-1]+i;
sum += + a[i];
}
System.out.println(sum);
}
}
2、生日蜡烛
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。现在算起来,他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的?请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
解答:用双重循环即可解答
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=1;i<100;i++){ //i是开始过生日的年龄
int sum = 0;
for(int j=i;j<100;j++){ //j是到现在的年龄
sum = sum + j;
if(sum==236){
System.out.println(i);
System.out.println(j);
}
}
}
}
输出26
33
正确答案为26岁。
3、猜年龄
小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。”
请你写出:小明的较小的妹妹的年龄。
注意: 只写一个人的年龄数字,请通过浏览器提交答案。不要书写任何多余的内容。
解答:
public class Guessage {
public static void age(){
for(int i=1;i<100;i++){
for(int j=i+1;j<100;j++){
int a=i*j;
int b=6*(i+j);
if(a==b&&j-i<8&&j-i!=0){
System.out.println(i);
}
}
}
}
public static void main(String[] args) {
age();// TODO Auto-generated method stub
}
}
输出10
4、dfs问题 凑算式
凑算式
这个算式中AI代表19的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
解答:用dfs找出1到9的全排列,再根据条件对其进行剪枝即可。
public class Caculation {
static int num[] = new int[10];//存储全排列的数组
static boolean visit[] = new boolean[10];//游标
static int count = 0;
static void solve(){
if (num[1] +
(double)num[2]/num[3] +
(double)(num[4]*100+num[5]*10+num[6])/(num[7]*100+num[8]*10+num[9])
== 10){
count++;
}
}
static void dfs(int index){
if(index==10){
solve();
return;
}
for(int i=1;i<10;i++){
if(visit[i]==false){
visit[i]=true;
num[index]=i;
dfs(index+1);
visit[i]=false;
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
dfs(1);
System.out.println(count);
}
输出:29