循環結構for語句-求和思想


循環結構for語句的練習-求和思想:
需求1:求出1到10之間的數據和

 

1 public static void main(String[] args) {
2 
3         int sum = 0;
4         for(int i = 1; i <= 10; i++) {
5             sum = sum + i;
6         }
7         System.out.println(sum);
8 
9     }

輸出結果:55

 

需求2:求出1到100之間的偶數和

 1 public static void main(String[] args) {
 2 
 3         int sum = 0;
 4         for(int i = 1; i <= 100; i++) {
 5             if(i%2 == 0){
 6                 sum = sum + i;
 7             }
 8         }
 9         System.out.println("偶數和是:"+ sum);
10 
11     }

 

輸出:偶數和是:2550

改進需求2:

1 public static void main(String[] args) {
2 
3         int sum = 0;
4         for(int i = 0; i <= 100; i=i+2) {//i在這里指的是0到100內的所有的偶數
5             sum = sum + i;
6         }
7         System.out.println("偶數和是:"+ sum);
8 
9     }

 

輸出:

偶數和是:2550

 

需求3:求5的階乘

    3.1 階乘的定義:n! = n*(n-1)!  n的階乘是n*(n-1)的階乘

          等價於:n! = n*(n-1)*(n-2)*.....*3*2*1

    3.2 那么5的階乘 = 5*4*3*2*1

1 public static void main(String[] args) {
2 
3         int num = 1;
4         for(int i = 1; i <= 5; i++) {
5             num = num * i;
6         }
7         System.out.println("5的階乘是:"+ num);
8 
9     }

 

輸出:5的階乘是:120

需求3改進方案:

 
         
public static void main(String[] args) {

        int num = 1;
        for(int i = 2; i <= 5; i++) { //i從2開始,因為任何數乘1值不改變,所以沒必要做乘以1這一次循環
            num = num * i;
        }
        System.out.println("5的階乘是:"+ num);

    }
 
         

 

輸出結果:5的階乘是:120

 

需求4:在控制台輸出所有的水仙花數

     4.1 水仙花的定義:一個三位數,其各位數字的立方和等於該三位數本身

     4.2 比如:153是一個水仙花數:因為:153 = 1*1*1 + 5*5*5 + 3*3*3

    分析:已知一個三位數,如何獲取它的個位,十位,百位上的數字呢?

    以153為例:

      個位 (3) = 153 % 10 = 3

      十位 (5) = 153 / 10  % 10 = 5

      百位 (1) =  153 / 10 /10 % 10 = 153 / 100 % 10 = 1

      千位 = x / 1000 % 10

 1 public static void main(String[] args) {
 2 
 3         for(int i = 100; i < 1000; i++) {
 4             int x = i % 10;
 5             int y = i / 10 % 10;
 6             int z = i / 100 % 10;
 7             if(i == x*x*x + y*y*y + z*z*z){
 8                 System.out.println(i+",");
 9             }
10         }
11         System.out.println("是水仙花數");
12     }

 

輸出結果:

153,
370,
371,
407,
是水仙花數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM