【蓝桥杯2016JavaB】煤球数目、生日蜡烛、凑算式
作者:互联网
煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
…
如果一共有100层,共有多少个煤球?
请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
找规律,发现第二层与第一层相差2,第三层与第二层相差3,第四层与第三层相差4。。。。依次类推,算出前100层之和即可。
public static void main(String[]arms) {
int index=1,sum=0;//用index代表层数
int a=1,increase=2;//increase代表层间差值
while(index++<=100) {
sum+=a;
a+=increase++;
}
System.out.println(sum);
}
最终答案171700
生日蜡烛
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
两层for循环,第一个for记录从什么时候开始过生日,第二层for计算总蜡烛
public static void main(String[]arms) {
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);
return;
}
if(sum>236)break;
}
}
}
最终答案26
凑算式
凑算式
B DEF
A + — + ------- = 10
C GHI
(如果显示有问题,可以参见【图1.jpg】)
这个算式中AI代表19的数字,不同的字母代表不同的数字。
比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。
这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
这道题有两个要点,第一个是要会全排列,这是个模板,一定要记住;第二个点是,这个凑算式里虽然都是int型,但是需要通分才能准确计算,不然损失的部分很难把握。
public class Main{
public static int counts=0;
public static void main(String[]arms) {
int[] nums= {1,2,3,4,5,6,7,8,9};
arr(nums, 0);
System.out.println(counts);
}
public static void arr(int[]nums,int i) {
if(i>=nums.length-1) {
int x = nums[3] * 100 + nums[4] * 10 + nums[5]; // DEF
int y = nums[6] * 100 + nums[7] * 10 + nums[8]; // GHI
if ((nums[1] * y + nums[2] * x) % (y * nums[2]) == 0 &&
nums[0] + (nums[1] * y + nums[2] * x) / (y * nums[2]) == 10)counts++;
return;
}
for(int j=i;j<nums.length;j++) {
sweap(nums, i, j);
arr(nums,i+1);
sweap(nums, i, j);
}
}
public static void sweap(int[]nums,int a,int b) {
int temp=0;
temp=nums[a];
nums[a]=nums[b];
nums[b]=temp;
}
}
标签:2016JavaB,nums,算式,sum,蓝桥,int,static,public 来源: https://blog.csdn.net/VanGotoBilibili/article/details/115426110