• java 实现(代码) -- 水仙花数 + 杨辉三角形


     1 /*
     2     在控制台输出所有的“水仙花数”
     3     水仙花:100~999
     4 
     5     在以上数字范围内:这个数=个位*个位*个位+十位*十位*十位+百位*百位*百位
     6 
     7     例如:xyz=x^3 +y^3 +z^3
     8 
     9     怎么把三位数字拆成每位整数
    10 
    11     思路:百位:    int x= i / 100    
    12           十位:    int y = i / 10 % 10
    13           个位:    int z = i % 10     
    14 
    15 */
    16 class LoopTest3 {
    17     public static void main(String[] args) 
    18     {
    19         for (int i=100; i<=999 ; i++ ){
    20             int x= i / 100;
    21             int y = i / 10 % 10;
    22             int z = i % 10;
    23             
    24             //本身的数字是i ,x, y, z是百位十位个位
    25             if (i == x* x* x+ y* y* y+ z* z* z){
    26                 System.out.println(i);//i=153,370,371,407
    27 
    28                 //153=1^3+ 5^3 +3^3=1 + 125+ 27
    29             }
    30         }
    31     }
    32 }

    --------------------------------------------------------------------------------------------------------------------------------

     1 import java.util.Scanner;
     2 
     3 /*
     4     杨辉三角形:当前行的每个元素是当前行这个元素的上一行和上一行左侧元素的和
     5     
     6     分析:
     7             
     8             这个题目,使用了如下的技能点:
     9                     
    10                     for循环:两个for循环的嵌套
    11                     动态数据:这个元素的上一行和上一行左侧元素的和
    12                     静态数据:每一行的第一列和最后一列都是:1
    13                     
    14                     数组的元素可以通过下标索引快速定位,赋值
    15                     
    16                     用两个for 循环控制一个二维数组得到最终的结果
    17                     
    18         目的:
    19         
    20             拓展传智学生的视野面,不要求掌握,需要理解。能够听懂,后期完成掌握。
    21             
    22             
    23             1    1
    24             1    2    1
    25             1    3    3    1
    26             1    4    6    4    1
    27             1    5    10    10    5    1
    28     
    29 */
    30 class  YangHui {
    31     public static void main(String[] args) {
    32         int [ ][ ] san = new int [6][6];
    33         
    34         //我比会做三角形,我会做矩形,赋值给三角形静态数据1
    35         for (int i =0;  i<6;  i++){//控制行
    36             for (int j =0;  j<=i;  j++){//控制列
    37                 san[i][j] = 1;
    38             }
    39         }
    40         
    41         //做二维数组的动态数据的赋值
    42         for (int i =2;  i<6;  i++){
    43             for(int j =1;  j<=i-1;  j++){
    44                 //上一行现在代码都执行到这里了,还能回去吗?  可以  上一行这个数据可以用二维数组的下标定义
    45                 san[i][j] = san[i-1][j] + san[i-1][j-1];
    46             }
    47         }
    48         
    49         for(int i =0; i<6; i++){//控制行
    50             for(int j =0; j<= i; j++){//控制列
    51                 System.out.print( san[i][j] + " ");
    52             }
    53             System.out.println( );
    54         }
    55     }
    56 }
  • 相关阅读:
    js字符串使用占位符拼接
    C#解析json字符串总是多出双引号的原因分析及解决办法
    JS 正则验证字符串中是否含有数字
    不错的MVC文章
    Js 更换html同一父元素下子元素的位置
    团队任务个人博客--20160426
    《构建之法》阅读笔记3
    团队任务个人博客20160425
    团队任务个人博客20160424
    软件工程进度条-第八周
  • 原文地址:https://www.cnblogs.com/rongsnow/p/5156454.html
Copyright © 2020-2023  润新知