zoukankan      html  css  js  c++  java
  • 循环结构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,
    是水仙花数

  • 相关阅读:
    MySQL 分库分表方案
    MySQL高性能优化实战总结
    MySQL太慢?试试这些诊断思路和工具
    Get MySQL这5个优化技巧
    一次MySQL两千万数据大表的优化过程,三种解决方案
    MySQL 常用30种SQL查询语句优化方法
    掌握 MySQL 这 19 个骚操作,效率至少提高3倍
    分分钟解决 MySQL 查询速度慢与性能差
    总结 | 慢 SQL 问题经验总结
    MySQL主从延时这么长,要怎么优化?
  • 原文地址:https://www.cnblogs.com/happy520/p/6557491.html
Copyright © 2011-2022 走看看