java素數1100
A. 查找100到1000之間的所有素數用java實現,並且輸出全部素數急
public class d {
/**
* @param args
*/
public static void main(String[] args) {
int sum=0;
for(int i=100;i<=1000;i++)
{
int j;
for( j=2;j<=(int)(Math.sqrt(i)+1);j++)
{
if(i%j==0) {break;}
}
if(j>(int)Math.sqrt(i)){
System.out.println("i="+i);
}
}
}
}
B. java求10到100的素數(詳細注釋)
publicclassPrimeNumber{
publicstaticvoidmain(String[]args){
intn=0;
for(inti=10;i<=100;i++)//循環!
if(i%2!=0)//單數裡面找!
for(intj=2;j<i;j++){
if(i%j==0)//遍歷是否有該數的公因數!
break;
if(j==i-1){
n++;//計數!
System.out.println("第"+n+"個素數= "+i);
break;
}
}
}
}
C. 用java找出1到100的素數,並求和
intsum=0;
for(inti=2;i<=100;i++){//質數
for(intk=2;k<=i;k++){//除數
//排除所有在i=k之前能被k整除(余數為0)的數
if(i%k==0&&i!=k){
break;
}
//輸出所有在i=k且i%k=0的數
if(i%k==0&&i==k){
System.out.println(i);
sum+=i;
}
}
}
System.out.println("sum="+sum);
思路:先說什麼是素數。除了1和它本身以外不再有其他的因數就是素數。所以你要做的就是對於一個整數i,讓他和比他小的正整數取余數,如果為0的話就肯定不是素數了。如果都不為0且最後只有他本身那麼這個數就是素數了。看上面循環,直接從2開始就刨除了1,不然判斷條件裡面還得寫1的判斷
D. java 如何輸出1到100間的質數
參考代碼如下:
package test;
public class Test {
public static void main(String[] args) {
int j;
for (int i = 2; i <= 100; i++) // 1不是素數,所以直接從2開始循環
{
j = 2;
while (i % j != 0)
j++; // 測試2至i的數字是否能被i整除,如不能就自加
if (j == i) // 當有被整除的數字時,判斷它是不是自身
System.out.println(i); // 如果是就列印出數字
}
}
}
(4)java素數1100擴展閱讀:
質數又稱素數。一個大於1的自然數,除了1和它自身外,不能整除其他自然數的數叫做質數;否則稱為合數。
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。
E. 編寫一Java程序 查找1—100之間的素數並將其運行結果輸出
publicstaticvoidmain(String[]args){
inti,j;
for(i=1;i<=100;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
{
break;
}
}
if(i==j)
{
System.out.println(i);
}
}
}
F. java求素數代碼
求1-N以內的所有素數,實現思路如下:
1、 得到1到n之間的素數,存到一個ArrayList集合。
(6)java素數1100擴展閱讀:
實現功能的編程事項:
1、模塊化思想。
先拆分需求,先拆分先考慮怎麼確定一個數是不是素數,然後再復用到所有。不能把方法堆到一起,否則無法復用代碼。
2、注意注釋。
就算是自己的測試代碼,盡量寫清楚注釋,這樣即使過了三個月,再看代碼,也能清晰明了。不要覺得簡單,就懶得注釋。
3、注意參數命名。
從類名到方法名,再到變數名,都不能隨意取名,關於這個命名,不要嫌棄長,重點是意思清楚明白。見名知意(語義化),是最好的。
G. JAVA:求1到100素數
public class Test{
public static void main(String []arg){
prime(100);
}
// 什麼是質數,合數,約數?
// 「素數」,又稱「質數」,是指:
// 除1和其自身之外,沒有其它約數的正整數
// 如 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,...
// 2是最小的質數,也是唯一的偶質數
// 質數有無數多個
// 與素數相對的,有「合數」:
// 除1和其自身之外,仍有其它約數的正整數
// 規定:1和0既不是質數,也不是合數
// 一個數除了1和它本身不再有別的約數,
// 這樣的數叫做質數,也叫素數。20以內
// 的質數有:2、3、5、7、11、13、17、19
// 一個數除了1和它本身還有別的約數,這樣
// 的數叫做合數。1和0不是質數也不是合數。20
// 以內的合數有:4、6、8、9、10、12、14、15、16、18、20。
// 數a能被數b整除,a就是b的倍數,b就是a的約數。例如:15÷5=3,
// 那麼15是5的倍數,5是15的約數。約數與倍數是相互的,
// 不能單獨說15是倍數,5是約數。在討論質數、合數、約數、
// 倍數都指自然數(0除外)。
public int prime(int num) {// 能求無限大的質數//但如果所求的范圍太大,計算的時間需要很久
long is = System.currentTimeMillis();
int n, m, i = 0;
label1: for (n = 2; n <= num; n++) {
for (m = 2; m <= n / 2; m++) {
if (n % m == 0)
continue label1;
}
i++;
// System.out.println("第" + i + "個素數是:" + n);
}
long ie = System.currentTimeMillis();
System.out.println("time=" + (ie - is));
return i;
}}
H. 用java求100以內的全部素數
這個的主要點是嵌套的循環,要注意循環要遍及數據的循環、邏輯判斷,素數就是表示除1及其本身外不能被其他比他小的整數整除,掌握這點就可以理解了,下面代碼僅供參考:
//實現求1-100之間的所有素數
publicclassTest
{
publicstaticvoidmain(String[]args)
{
//使用外層循環來控制1-100的數據的遍歷
for(inti=1;i<=100;i++){
//素數就是除1及其本身外不能被其他整數整除
intj=2;
while(i>j){
//如果可以被小於他的數據整除,表示該數不是素數,跳出循環
if(i%j==0){
break;
}
j++;
}
//如果沒有找到比其小的數據可以整除,則表示該數是素數
if(i==j){
System.out.println(i);
}
}
}
}
I. 用JAVA找出1000內素數
找出素數的思路是:
循環這10000個數,將每一個數都除以從2到比它小的所有整數,如果能夠整除,則不為素數,否者為素數
n在這里是起到一個標志的作用,原值賦為1
當a%m==0時(即有除了1跟其本身的其他因子的時候)
n值就改變為0
以n的值來區分到底要不要輸出該值
當n!=0的時候,就是沒有執行if語句,說明a為某值的時候,a%m==0一直沒有滿足,不就是沒有因子嘛,
總之
n相當於一個flag
J. java 1到100內的質數
int i,j;
for(i = 2; i <= 100; i++){//從2數到100,判斷之間的每一個數是否是質數
//下面的循環是質數判斷過程
for(j = 2; j <= i/2; j++){
if(i % j == 0)
break;//如果這個數能被一個數整除,那麼這個數不是質數。break的作用是跳出此次循環,進入下一次循環。
}
if(j > i/2){
System.out.println(i);//如果這個數不能被自身1/2的數整除,他就是質數,輸出這個數.System.out.println()這個語句就是輸出語句
}
}
System.out.println();//這句語句是多餘的,什麼也沒列印。
完整代碼及運行結果如圖。
拓展資料
質數(prime number)又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數。
這道題只要理解質數的計算方法就容易解答。