A.有奖猜谜
小明很喜欢猜谜语.
最近,他被邀请参加了X星球的猜谜活动.
每位选手开始的时候都被发给777个电子币.规则是:猜对了,手里的电子币数目翻倍,猜错了,扣除555个电子币,扣完为止.
小明一共猜了15条谜语.
战果为: vXvXVXVXVXvxvvx
其中v表示猜对了,x表示猜错了.
请你计算一下,小明最后手里的电子币数目是多少.
参考代码
/*
* 开始 777 电子币
* 猜对 当前数目翻倍 猜错 -555 扣完为止
* 共猜了15次 vxvxvxvxvxvxvvx
* v 猜对 x猜错
* 求最后 电子币数目
* 暴力
*/
public class 有奖猜谜 {
public static void main(String[] args) {
//Scanner scan=new Scanner(System.in);
int sum=777;
String St="vxvxvxvxvxvxvvx";
char Ch = 0;
for(int i=0;i<St.length();i++) {
Ch=St.charAt(i);
if(Ch=='v') {
sum=sum*2;
}else {
sum=sum-555;
}
}
System.out.println(sum);
//scan.close();
}
//58497
}
B.煤球数目
有一堆煤球,堆成三角棱锥形.具体:第一层放1个,
第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),
如果一共有100层,共有多少个煤球?
请填表示煤球总数目的数字.
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字.
参考代码
/*
* 三角棱锥
* 1
* 3
* 6
* 10
* 共100层
* 有多少个煤球
*/
import java.util.Scanner;
public class 煤球数目 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int sum=0;
for (int i = 1; i <=100; i++) {
sum+=i*(i+1)/2;
}
System.out.println(sum);
scan.close();
}
}
C.平方怪圈
如果把一个正整数的每一位都平方后再求和,得到一个新的正整数.对新产生的正整数再做同样的处理.
如此一来,你会发现,不管开始取的是什么数字,最终如果不是落入1,就是落入同一个循环圈.
请写出这个循环圈中最大的那个数字.
请填写该最大数字.
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字.
参考代码
public class 平方怪圈 {
public static void main(String[] args)
{
int num = 2;
int i = 100;
int max = 0;
while (i > 0)//循环
{
i--;
int sum = 0;
while (num > 0)
{
sum += (num % 10) * (num % 10);
num /= 10;
}
num = sum; //平方和赋值
if (max <= num)
max = num;
}
System.out.println (max);
}
}
//145
D.骰子游戏
我们来玩一个游戏.
同时掷出3个普通骰子(6个面上的数字分别是1~6).如果其中一个骰子上的数字等于另外两个的和,你就赢了.