最近在猛复习Java,猛刷题目ing。这个做题目的过程其实也就像搬砖一样,一点一点把最基础的巩固好,一块一块、整整齐齐地砌才能砌好一面墙。好了,不说了,我要去搬砖了。
其实不瞒你们说,我是比较喜欢数学这一学科的,原因在于其有趣,包括做题也是一样有趣的。我们就用编程和数学的思想来看看那一些有趣的数学:
题目一:输入整数 a,输出结果 s,其中s与a的关系是:s=a+aa+aaa+aaaa+aa...a,最后为a个a。例如:a=2时,s=2+22=24。 要求:使用循环结构语句实现。
package com.cdp.SuShu;
import java.util.Scanner;
public class task4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入你要输入的n:");
int a = input.nextInt();
int tiem = 0;
int sum = 0;
for (int i = 1; i <= a; i++) {
//计算a+aa+aaa+aaaa+aa...a
tiem = tiem * 10 + a;
sum += tiem;
}
System.out.println("a的计算和sum=" + sum);
}
}
我们输入9,运算所得结果为:
请输入你要输入的n: 9 a的计算和sum=1111111101
题目二:再来一个“回文数”,不知道大家是否听说过,回文数的定义就是一组任意自然数其各位数字反向排列都相等。在自然数中,最小的回文数是0。
package com.cdp.SuShu;
import java.util.Scanner;
public class huiwenshu {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入一个5位的数值检验是否为回文数:");
Scanner input = new Scanner(System.in);
int a = input.nextInt();
if (a / 10000 == a % 10 && a / 1000 % 10 == a / 10 % 10) {
System.out.println(a + "是回文数");
} else {
System.out.println(a + "不是回文数");
}
}
}
运行:
请输入一个5位的数值检验是否为回文数: 12321 12321是回文数
题目三:一个球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。
求它在第十次落地时,共经过多少米?第十次反弹多高?
要求:使用循环结构语句实现。
package com.caiduping.project;
import java.util.Scanner;
public class task4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//总共100m
double sum=100;
double height=100;
//小球在第十次落下只需要9次循环
for (int i = 1; i < 10; i++) {
height=height/2;
sum+=height*2;
}
System.out.println("第10次反弹总共高度为"+sum);
}
}
run:
第10次反弹总共高度为299.609375