/* 输出所有的水仙花数,所谓水仙花数是指一个3 位数,其各个位上数字立方和等于其本身。 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5 */ class ShuiXianHua{ public static void main(String[] args) { for(int i = 100;i < 1000;i++){//实现100-999的遍历 456 - 400 = 56 - 50 int j1 = i / 100;//百位 int j2 = (i - j1*100)/10;//十位 int j3 = i % 10;//个位 if(i == j1*j1*j1 + j2*j2*j2 + j3*j3*j3){ System.out.println(i); } } } } public static void main(String[] args) { /* ***** ***** ***** ***** */ for(int j = 0;j < 4;j++){//外层循环控制行数 for(int i = 0;i < 5;i++){//内层循环控制列数 System.out.print("*"); } System.out.println(); } /* * ** *** **** */ for(int j = 0;j < 4;j++){//外层循环控制行数 for(int i = 0;i < j + 1;i++){//每行输出j + 1个 System.out.print("*"); } System.out.println(); } /* ***** **** *** ** * */ for(int i = 0; i < 5;i++){ for(int j = 0;j < 5-i;j++){//for(int j = i;j < 5;j++) System.out.print("*"); } System.out.println(); } /* * ** *** **** ***** **** *** ** * */ for(int j = 0;j < 4;j++){//外层循环控制行数 for(int i = 0;i < j + 1;i++){//每行输出j + 1个 System.out.print("*"); } System.out.println(); } for(int i = 0; i < 5;i++){ for(int j = 0;j < 5-i;j++){//for(int j = i;j < 5;j++) System.out.print("*"); } System.out.println(); } /* 打印如下图形 ----* ---* * --* * * -* * * * * * * * * i k- j* k = 4 - i j = i + 1 0 4 1 1 3 2 2 2 3 3 1 4 4 0 5 -* * * * --* * * ---* * ----* i k- j* k = i + 1 j = 4 - i 0 1 4 1 2 3 2 3 2 3 4 1 */ //上半部分: for(int i = 0;i < 5;i++){ for(int k = 0;k < 4 - i;k++){ System.out.print(" "); } for(int j = 0;j < i + 1;j++){ System.out.print("* "); } System.out.println(); } //下半部分 for(int i = 0;i < 4;i++){ for(int k = 0;k < i + 1;k++){ System.out.print(" "); } for(int j = 0;j < 4 - i;j++){ System.out.print("* "); } System.out.println(); } } /* 100以内的所有质数 */ class TestPrimeNumber{ public static void main(String[] args){ boolean flag = false; long start = System.currentTimeMillis();//获取系统当前的毫秒数 for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历 //如何判断i是否为一个质数 for(int j = 2;j <= Math.sqrt(i);j++){ if(i % j == 0){ flag = true; break; } } if(!flag){//if(flag == false){ //System.out.println(i); } flag = false; } long end = System.currentTimeMillis(); System.out.println("所花费的时间为:" + (end - start)); //35535--加上break:10059--使用Math.sqrt(): } } public static void main(String[] args){ //boolean flag = false; long start = System.currentTimeMillis();//获取系统当前的毫秒数 l:for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历 //如何判断i是否为一个质数 for(int j = 2;j <= Math.sqrt(i);j++){ if(i % j == 0){ //flag = true; //break; continue l; } } //if(!flag){//if(flag == false){ System.out.println(i); //} //flag = false; } long end = System.currentTimeMillis(); System.out.println("所花费的时间为:" + (end - start)); //35535--加上break:10059--使用Math.sqrt(): } /* 一个数如果恰好等于它的因子之和,这个数就称为"完数"。(因子:除去这个数本身正的约数) 例如6=1+2+3.编程 找出1000以内的所有完数 */ class TestApp{ public static void main(String[] args){ int factor = 0; for(int i = 1;i <= 1000;i++){ //每执行完一次如下的循环,就会将i的所有的因子累加到factor中 for(int j = 1;j < i;j++){ if(i % j == 0){ factor += j; } } if(i == factor){ System.out.println(i); } factor = 0; } } }
转载于:https://www.cnblogs.com/lzb0803/p/8998850.html
