求三位数的质数
沒做出來啊,原來有這么多方法啊。
首先,我連質數是什么都不知道!
質數:只能被本身和1整除的數
帖子里回復了不少方法:
class?Zhishu? {public?static?void?main(String[]?args)?{int?count=0;for(int?i=1;i<=100;i++){count=0;for(int?j=1;j<=i;j++){if(i%j==0){count++;}}if(count==2||count==1){System.out.print(i+"?");}}} }package?com.ms.test;public?class?GetSushu?{/***?@param?args*/public?static?void?main(String[]?args)?{//?TODO?Auto-generated?method?stubfor(int?x=100;x<=999;x++){boolean?flag=true;for(int?y=2;y<x;y++){if(x%y==0){flag=false;break;}}if(flag){System.out.println(x);}}}}判斷某一個三位數是否是質數
import?java.util.Scanner;public?class?PrimeNum?{public?static?void?main(String[]?args)?{Scanner?sc?=?new?Scanner(System.in);System.out.println("請輸入一個三位數");int??num?=?sc.nextInt();if(num<100?||?num>999)throw?new?RuntimeException("輸入數據不合要求");getPrime(num);}public?static?void?getPrime(int?num){for(int?x=2;x<num;x++){if(num%x!=0){if(x==num-1){System.out.println(num+"是質數");}continue;}else{System.out.println(num+"不是質數");break;}????????????????????????????????}????????????????} }列出所有介于100到你輸入的三位數中的質數(不包含100)
import?java.util.Scanner;public?class?TotalPrimeNum?{public?static?void?main(String[]?args)?{Scanner?sc?=?new?Scanner(System.in);System.out.println("請輸入一個三位數");int??num?=?sc.nextInt();if(num<100?||?num>999)throw?new?RuntimeException("輸入數據不合要求");getPrime(num);}public?static?void?getPrime(int?num){int?count?=?0;//計數器記錄質數個數W:for?(int?x?=?101;?x?<=?num;?x++)?{Q:for?(int?y?=?2;?y?<?x;?y++)?{if(x%y!=0){if(y==x-1){System.out.print(x+"\t");count++;continue?W;}continue?Q;}else{continue?W;}}}System.out.println();System.out.println("101到"+num+"共有質數個數為:"+count);????????} }經過上機,就記住第二種(使用flag標記判斷)方法吧。
另外,上機時也發現了自己對 if — break 判斷的不熟練,
for?(int?y?=?2;?y?<?x;?y++)?{if?(x?%?y?==?0)?{flag?=?false;break;}}例如,上面的循環,如果符合條件,
break之后就中斷了for循環了。
注意:break是中斷當前最近的一個for循環。
轉載于:https://blog.51cto.com/sesedese/1585738
總結
- 上一篇: 自己用java实现飞鸽传书 2 - 实现
- 下一篇: War-Driving(战争驾驶***)