本文首发于我的个人网站:http://staunchkai.com
求和思想
- 求出 1 - 10000 之和
/*
需要两个变量:
一个用于存储加数,也就是保存之前所有数据之和,默认值为 0
另一个用于存储被加数,也就是保存每次数据变化的值
*/
class Demo0{
public static void main(String[] args){
// 第一个加数
int sum = 0;
for(int x = 1; x <= 10000; x++){
sum += x;
}
System.out.println("sum: " + sum);
}
}
- 结果为:sum:50005000
统计思想
- 统计 “水仙花” 数的个数
水仙花数:
例如:153 –> 1x1x1 + 5x5x5 + 3x3x3 = 153
/*
1. 获取每个三位数的个、十、百的数据
2. 按要求进行判断
3. 如果满足就进行计数
*/
class Demo1{
public static void main(String[] args){
// 定义统计变量,初始值为 0
int count = 0;
for(int x = 100; x < 1000; x++){
// 获取每个数的个、十、百
int ge = x%10;
int shi = x/10%10;
int bai = x/10/10%10;
if(x == (ge*ge*ge + shi*shi*shi + bai*bai*bai)){
count++;
}
}
System.out.println("水仙花数共有: " + count + " 个");
}
}
- 结果为:水仙花数共有: 4 个
其他练习
九九乘法表
/*
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
...
1*9=9 2*9=18 3*9=27 ...
想象为这个形状:
*
**
***
****
*****
...
*/
class Demo2{
public static void main(String[] args){
for(int x = 0; x < 9; x++){
for(int y = 0; y <= x; y++){
System.out.print("*");
}
System.out.println();
}
System.out.println("--------------------------")
for(int x = 0; x <= 9; x++){
for(int y = 1; y <= x; y++){
System.out.print(y + "*" + x + "=" + y * x + "\t");
}
System.out.println();
}
}
}
- 结果为:
*
**
***
****
*****
******
*******
********
*********
--------------------------
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
一张厚 0.01m 的纸叠多少次不低于珠穆朗玛峰 8848
/*
定义一个统计变量,默认值为 0
折叠一次,厚度是之前的两倍
只要折叠一次,就统计一次
*/
class Demo3{
public static void main(String[] args){
int count = 0;
// 为了简单,把 0.01 变为 1;8848 变为 884800
int end = 884800;
int start = 1;
while(start < end){
count++;
start *= 2;
System.out.println("第 " + count + " 次有" + start + "米");
}
System.out.print("总共需要叠:" + count + "次");
}
}
- 结果为:
第 1 次有 2 米
第 2 次有 4 米
第 3 次有 8 米
第 4 次有 16 米
第 5 次有 32 米
第 6 次有 64 米
第 7 次有 128 米
第 8 次有 256 米
第 9 次有 512 米
第 10 次有 1024 米
第 11 次有 2048 米
第 12 次有 4096 米
第 13 次有 8192 米
第 14 次有 16384 米
第 15 次有 32768 米
第 16 次有 65536 米
第 17 次有 131072 米
第 18 次有 262144 米
第 19 次有 524288 米
第 20 次有 1048576 米
总共需要叠:20次