版權聲明:本文爲博主原創文章,未經博主允許不得轉載。All Rights Reserved
目錄(?)[+]
1) 水仙花數
水仙花數是指一個 n 位正整數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等於它本身。(例如:1^3 + 5^3+ 3^3 = 153)
這裏列舉了三位數的情況:
for(int i=100; i<1000; i++){
int baiwei = i / 100;
int shiwei = (i - baiwei * 100) / 10;
int gewei = i % 10;
if(i == (baiwei * baiwei * baiwei)+(shiwei * shiwei * shiwei)+(gewei * gewei * gewei)) {
System.out.println(i);
}
}
水仙花數-執行結果
水仙花數-執行結果
2) 輸出100以內所有奇數的和
int sum=0;
for(int i=1; i<=100; i+=2){
sum+=i;
}
System.out.println(sum);
100以內所有奇數的和-執行結果
100以內所有奇數的和-執行結果
3) 1~100之間所有是7的倍數的整數
int sum=0;
int count=0;
for(int i=1; i<=100; i++){
if(i % 7 == 0){
// System.out.println(i); 打印1~100之間所有是7的倍數的整數
sum += i;
count += 1;
}
}
System.out.println("1~100之間所有是7的倍數的整數的個數爲:" + count);
System.out.println("總和爲:" + sum);
1~100之間所有是7的倍數的整數-執行結果
1~100之間所有是7的倍數的整數-執行結果
4) 求最小公倍數和最大公約數
int m = 1;
int n = 28;
int max = (m > n) ? m : n;
int min = (m > n) ? n : m;
for (int i = max; i <= m * n; i++) {
if (i % m == 0 && i % n == 0) {
System.out.println("最小公倍數:" + i);
break;
}
}
for (int i = min; i >= 1; i--) {
if (m % i == 0 && n % i == 0) {
System.out.println("最大公約數:" + i);
break;
}
}
5) 九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j < 1 + i; j++) {
String result;
if ((j * i) < 10) {
result = "0" + (j * i);
} else {
result = "" + (j * i);
}
System.out.print(j + "*" + i + "=" + result + " ");
}
System.out.println();
}
九九乘法表-執行結果
九九乘法表-執行結果
6) 圖形打印
(1) 例子1
for (int i = 0; i < 4; i++) { // 控制行數
for (int j = 0; j < 5; j++) { // 控制列數
System.out.print("*"); // 注意 : 此處是print()不是println()
}
System.out.println();
}
打印圖形:例子1-執行結果
打印圖形:例子1-執行結果
(2) 例子2
for (int i = 0; i < 5; i++) {
for (int j = -1; j < i; j++) { // j的初始化值要比i的初始化值小1
System.out.print("*");
}
System.out.println();
}
打印圖形:例子2-執行結果
打印圖形:例子2-執行結果
(3) 例子3
for (int i = 0; i < 5; i++) {
for (int j = 5; j > i; j--) {
System.out.print("*");
}
System.out.println();
}
打印圖形:例子3-執行結果
打印圖形:例子3-執行結果
(4) 例子4
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4 - i; j++) { // 控制每列需要打印的空格
System.out.print(" ");
}
for (int j = 0; j < i + 1; j++) { // j的初始化值和i的初始化值一樣,則需要在循環條件處加1
System.out.print(" *");
}
System.out.println();
}
打印圖形:例子4-執行結果
打印圖形:例子4-執行結果
(5) 例子5
當知道原理時,你就可以疊加使用。
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4 - i; j++) {
System.out.print(" ");
}
for (int j = 0; j < i + 1; j++) {
System.out.print(" *");
}
System.out.println();
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < i + 1; j++) {
System.out.print(" ");
}
for (int j = 0; j < 4 - i; j++) {
System.out.print(" *");
}
System.out.println();
}
打印圖形:例子5-執行結果
打印圖形:例子5-執行結果
7) 取100內的質數【節約時間和資源的思想】
int count = 0;
boolean flag = false;
long b=System.currentTimeMillis();
for (int i = 2; i <= 100; i++) {
for (int j = 2; j <= Math.sqrt(i); j++) { // 開根號i,極大地縮短了時間
if (i % j == 0) {
flag = true;
break; // 提前退出循環,節約時間
}
}
if (!flag) {
count += 1;
System.out.println(i);
}
flag = false;
}
System.out.println("共" + count + "個質數");
long e=System.currentTimeMillis();
System.out.println((double)(e-b) / 1000 + "秒");
取100內的質數【節約時間和資源的思想】-執行結果
取100內的質數【節約時間和資源的思想】-執行結果
嵌套for循環 tips
注意:循環嵌套,裏層的for循環一旦循環完畢就會初始化變量。
[打印圖形] 三角形 : for ( ; (1+i); ) 倒三角形 : for ( ; (層數-i); )
[打印圖形] 不要幾層(從第一層開始): i從幾層開始計數。