zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    elasticsearch配置文件详解
    《禅的故事》--易中天
    《爱你就像爱生命》--王小波
    Adaboost算法及其代码实现
    HOG特征原理及代码实现
    SMO算法--SVM(3)
    非线性支持向量机SVM
    核方法-核技巧-核函数
    线性可分支持向量机与软间隔最大化--SVM(2)
    拉格朗日乘子(Lagrange multify)和KKT条件
  • 原文地址:https://www.cnblogs.com/rongsnow/p/5156454.html
Copyright © 2011-2022 走看看