题目要求:
1、求100-200之间的素数。
程序清单:
ForWhile.java
2、拓展设计
(1)for语句和while语句是等价的,试用嵌套的for循环语句改写上述程序。(2)将程序的运行结果改为以每行5个数据的形式输出。
(3)如果去掉if(!f){continue;}语句,程序运行结果将如果?
(4)将程序中的while语句改用do…while语句实现。
(5)增加语句,统计运行结果中个位分别是1、3、7、9的素数的个数。
(6)打印出100—999之间所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如153是“水仙花数”,因为153=13+53+33。
public class ForWhile{ public static void main(String[] args) {
int j=100,k=200;
while(j<=k) { int i=2; int n=(int) Math.sqrt(j); while(i<=n) { if(j%i==0) { break; } if(i>=n) { System.out.println(j+"是素数"); } i++; } j++; } } } 拓展设计: (1)for语句和while语句是等价的,试用嵌套的for循环语句改写上述程序。 Public class ForWhile{ public static void main(String[] args) { for(int j=100;j<200;j++){ int n=(int) Math.sqrt(j); for(int i=2;i<=n;i++){ if(j%i==0) { break; } if(i>=n) { System.out.print(j+"是素数"); } } } } } (2) 将程序的运行结果改为以每行5个数据的形式输出。 public static void main(String[] args) { int k=0; for(int j=100;j<200;j++){ int n=(int) Math.sqrt(j); for(int i=2;i<=n;i++) { if(j%i==0) { break; } if(i>=n) { System.out.print(j+"是素数 "); k++; if(k%5==0) { System.out.println(); } } } } }
(3) 如果去掉if(!f){continue;}语句,程序运行结果将如果?
(4) 将程序中的while语句改用do…while语句实现。 public class ForWhile{ public static void main(String[] args) { int j=100,k=200,s=0; do{ int i=2; int n=(int) Math.sqrt(j); do{ if(j%i==0) { break; } if(i>=n) { System.out.print(j+"是素数 "); s++; if(s%5==0) System.out.println(); } i++; }while(i<=n); j++; }while(j<=k); } }
public class ForWhile{ public static void main(String[] args) { int[] a = new int[10]; int ss=0; int ge; for(int j=100;j<200;j++){ int n=(int) Math.sqrt(j); for(int i=2;i<=n;i++) { if(j%i==0) { break; } if(i>=n) { System.out.print(j+"是素数 "); ss++; if(ss%5==0) System.out.println(); ge=j%10; a[ge]++; } } } System.out.println(); for(int i=0;i<a.length;i++) if(a[i]!=0) System.out.println(i+"有"+a[i]+"个"); }
(6)打印出100—999之间所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如153是“水仙花数”,因为153=13+53+33。 public class ForWhile{ public static void main(String[] args) { int g,s,b; for(int i=100;i<1000;i++){ g=i%10; s=i/10%10; b=i/100; int count=g*g*g+s*s*s+b*b*b; if(i==count) System.out.println(i+"是水仙花数"); } } }
|