循环结构for语句-求和思想
阅读原文时间:2024年06月26日阅读:1

循环结构for语句的练习-求和思想:
需求1:求出1到10之间的数据和

public static void main(String[] args) {

     int sum = 0;  
     for(int i = 1; i <= 10; i++) {  
         sum = sum + i;  
     }  
     System.out.println(sum);

 }

输出结果:

需求2:求出1到100之间的偶数和

public static void main(String[] args) {

     int sum = 0;  
     for(int i = 1; i <= 100; i++) {  
         if(i%2 == 0){  
             sum = sum + i;  
         }  
     }  
     System.out.println("偶数和是:"+ sum);

 }

输出:偶数和是:

改进需求2:

public static void main(String[] args) {

     int sum = 0;  
     for(int i = 0; i <= 100; i=i+2) {//i在这里指的是0到100内的所有的偶数  
         sum = sum + i;  
     }  
     System.out.println("偶数和是:"+ sum);

 }

输出:

偶数和是:

需求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

public static void main(String[] args) {

     int num = 1;  
     for(int i = 1; i <= 5; i++) {  
         num = num \* i;  
     }  
     System.out.println("5的阶乘是:"+ num);

 }

输出: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

public static void main(String[] args) {

     for(int i = 100; i < 1000; i++) {  
         int x = i % 10;  
         int y = i / 10 % 10;  
         int z = i / 100 % 10;  
         if(i == x\*x\*x + y\*y\*y + z\*z\*z){  
             System.out.println(i+",");  
         }  
     }  
     System.out.println("是水仙花数");  
 }

输出结果:

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

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章