文档章节

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

Jusenr
 Jusenr
发布于 2016/05/17 00:23
字数 623
阅读 7
收藏 1
 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 }

 

© 著作权归作者所有

共有 人打赏支持
上一篇: popupwindow展示
Jusenr
粉丝 0
博文 20
码字总数 10876
作品 0
西安
Android工程师
私信 提问
LeetCode:Pascal's Triangle II - 帕斯卡三角形2

1、题目名称 Pascal's Triangle II(帕斯卡三角形2) 2、题目地址 https://leetcode.com/problems/pascals-triangle-ii/ 3、题目内容 英文:Given an index k, return the kth row of the P......

北风其凉
2015/08/15
0
0
LeetCode:Pascal's Triangle - 帕斯卡三角形

1、题目名称 Pascal's Triangle(帕斯卡三角形) 2、题目地址 https://leetcode.com/problems/pascals-triangle/ 3、题目内容 英文:Given numRows, generate the first numRows of Pascal's......

北风其凉
2015/08/15
0
0
Java知识详细巩固_note2(数组_附demo code)

继 Java基础知识的全面巩固note1(附各种demo code) 拜读《核心技术卷》,笔记之。 提纲 1.1 for each循环 1.2 数组初始化以及匿名数组 1.3 数组拷贝(以及Arrays.copyOf()) 1.4 命令行参数 ...

凌川江雪
08/27
0
0
大佬总结的前200页Java面试题都在这里了

大佬总结的前200页Java面试题都在这里了 基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的...

DemonsI
10/11
0
0
通往大神之路,百度Java面试题前200页。

基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fa...

java技术栈
2017/11/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据集可视化---张量场的可视表示

中国龙-扬科
6分钟前
0
0
JavaScript创建对象方法实例小结

本文实例讲述了JavaScript创建对象方法。分享给大家供大家参考,具体如下: 最简单的方式就是创建一个Object对象,并为其添加属性和方法。 //示例代码var person=new Object()person.name=...

peakedness丶
8分钟前
0
0
GO 读写锁实现原理剖析

前言 TODO:简单说明读写锁用法及规则。 读写锁数据结构 类型定义 TODO: 源码中数据结构 TODO:讲解每个成员作用 写锁阻止写锁 TODO:描述两个尝试写是如何避免的 写锁阻止读锁 TODO:描述获...

恋恋美食
12分钟前
0
0
Java核心(二)深入理解线程池ThreadPool

本文你将获得以下信息: 线程池源码解读 线程池执行流程分析 带返回值的线程池实现 延迟线程池实现 为了方便读者理解,本文会由浅入深,先从线程池的使用开始再延伸到源码解读和源码分析等高...

王磊的博客
14分钟前
1
0
web项目中的乱码问题原理分析

Java web开发过程经常遇到乱码,本篇我们探讨一下乱码产生的原因与解决思路。 一次完整的Web请求会有4次编解码转换,如下所示。 第一次:客户端(通常为浏览器)将字符转换成TCP字节流发向服...

fame_yao
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部