最近在猛复习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