本次的小文章是将以前曾经碰到的最多的数字方面的java测试题回顾一下
像这样的题目,如果接触过c语言基础,或者学过一些java基础的童鞋是都可以看懂的,至于大神men都是直接上手优化。。。
** 用JAVA实现: **
1. 求1+2+3+...+10000的和
2. 求1!+2!+3!+...+10! 的和
3. 求100以内的素数和
* 4.如果还有请告诉我,咱们可以一起写... * _
代码(顺序实现)有注解:
public class java常见数字题 {
public static void main(String[] args) {
}
/**
* 1. 求1+2+3+...+10000的和
* 思路:循环->累加
*/
@Test
public void accumulation_Sum_Test() {
int sum = 0;
for (int i = 1; i < 10001; i++) {
sum += i;
}
System.out.println("结果为:" + sum); // 结果为:50005000
}
/**
* 2. 求1!+2!+3!+...+10! 的和
* 思路:递归
* 术语介绍:
* 一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!
* 亦即n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n
*/
@Test
public void factorial_Sum_Test() {
int sum = 0;
int init = 1;
for (int i = 1; i <= 10; i++) {
init *= i; // 每个阶乘的结果
sum += init; // 累加
}
System.out.println("结果为:" + sum); // 结果为:4037913
}
/**
* 3. 求100以内的素数和
* 思路:条件判断
* 术语介绍:
* 质数(prime number)又称素数,有无限个。
* 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,即素数只能被1和本身整除
*/
@Test
public void primeNumber_Sum_Test() {
int sum = 0;
// 给定范围:100以内
for (int i = 2; i < 100; i++) {
// 初始标记
boolean b = true;
for (int j = 2; j < i; j++) {
// 判断100以内的数是否是素数
if (i % j == 0) { // 说明此数不只能被1和本身整除,还有其他数
b = false;
break; // break结束整个循环体(当前的内层for循环)
}
}
if (!b) { // 条件是 true
continue; // continue结束单次循环,即跳过当前不是质数的数(不输出),继续下一次外层for循环
}
System.out.print(i + " ");
sum += i;
}
System.out.println(); // 换行输出好看点
System.out.println("结果为:" + sum);
/*
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
结果为:1060
*/
}
}
一盏灯, 一片昏黄; 一简书, 一杯淡茶。 守着那一份淡定, 品读属于自己的寂寞。 保持淡定, 才能欣赏到最美丽的风景! 保持淡定, 人生从此不再寂寞。