當前位置:首頁 » 編程語言 » c語言素數對

c語言素數對

發布時間: 2022-02-05 12:12:44

『壹』 c語言求素數的演算法

根據素數的性質,代碼設計如下:

設計一:判斷n是否能被1~n-1整除,不能整除為素數

#include<stdio.h>

int main()

{

int i, n;

scanf("%d", &n);

for (i = 2; i < n ; i++)

{

if (n%i == 0)

break;

}

if (i < n) printf("This is not a prime.");

else printf("This is a prime.");

return 0;

}

設計二:判斷n是否能被2~√n間的整數整除,不能整除為素數

#include<stdio.h>

#include<math.h>

int main()

{

int n,i;

double k;

scanf("%d", &n);

k = sqrt(n);

for (i = 2; i <= k;i++)

{

if (n%i == 0) break;

}

if (i <=k) printf("This is not a prime.");

else printf("This is a prime");

return 0;

}

(1)c語言素數對擴展閱讀:

1.素數的定義是只能被1和他本身整除,1不是素數.因此要判斷一個數是否為素數.就要判斷它能不能被比他小的所有素數整除,這是一個演算法.(寫到演算法時,我只能寫出用它除以比他小的所有數,造成運算速度低下)

2.如果一個質數大於根號n,而n可以除盡它,那麼n必然也可以除盡一個更小的質數。由此可以得到一個法2較快的素數判斷演算法

『貳』 c語言 求素數對程序的設計與實現

#include<stdio.h>
int prime(int n)//返回0不是素數,返回1是素數
{
int i,j;
j=1;
for(i=2;i<n;i++)
{
if(n%i==0){j=0;break;}
}
return j;
}
void main()
{
int a,b,n;
printf("n=?");
scanf("%d",&n);
a=2;
abc: for(;a<=n/2;a++)
{
b=n-a;
if(prime(a)==0){a++;goto abc;}
if(prime(b)==0){a++;goto abc;}
printf("%d=%d+%d\n",n,a,b);
}
}

『叄』 C語言求素數和

main()
{
int i,m,j; //增加一個變數,見後面說明
for(i=2;i<=100;i++)
{m=sqrt(i);
//for(i=2;i<=m;i++) 這里i值被重新賦值,你原來的i值找不到了!如果是素數,怎麼輸出呢?
for(j=2;j<=m;j++) //換一個變數,不要影響要檢查的數據i
if(j%m!=0) //改成j
; //這樣寫,會讓你更清楚,這句如果j不能整除m,就啥也不幹,象你所說回到下一個循環檢查。
else
break; //加上這兩句,如果能整除則說明:i不是素數!!就不要再去檢查了。
if ( j > m ) //加上這句,如果檢查所有的j全部不能整除m,循環結束後,j一定大於m,這時的i才是素數
printf("%d",i);
}

getch();
}

『肆』 C語言求素數代碼

方法有2個:

1、判斷n是否能被2~√n間的整數整除

#include<stdio.h>

#include<math.h>

int main()

{

int n,i;

double k;

scanf("%d", &n);

k = sqrt(n);

for (i = 2; i <= k;i++)

{

if (n%i == 0) break;

}

if (i <=k) printf("This is not a prime.");

else printf("This is a prime");

return 0;

}

(4)c語言素數對擴展閱讀:

C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫,因此常說:C程序=主函數+子函數。因此,對函數的定義、調用、值的返回等中要尤其注重理解和應用,並通過上機調試加以鞏固。

判斷語句(選擇結構):

if 語句:「如果」語句;if—else 語句:「若…(則)…否則…」語句;switch 語句:「切換」語句;switch—case:「切換—情況」語句。

循環語句(循環結構):

while 語句:「當…」語句;do—while 語句:「做…當…(時候)」語句;for 語句:條件語句(即「(做)…為了…」語句)。

跳轉語句(循環結構:是否循環):

goto 語句:「轉舵」語句,也稱「跳轉」語句;break 語句:「中斷」(循環)語句,即結束整個循環;continue 語句:「繼續」語句(結束本次循環,繼續下一次循環);return 語句:「返回」語句。

需要說明的是:

1、一個C語言源程序可以由一個或多個源文件組成。

2、每個源文件可由一個或多個函數組成。

3、一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。是整個程序的入口。

4、源程序中可以有預處理命令(包括include 命令,ifdef、ifndef命令、define命令),預處理命令通常應放在源文件或源程序的最前面。

5、每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。(結構體、聯合體、枚舉型的聲明的「}」後要加「 ;」。)

6、標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。

書寫規則

1、一個說明或一個語句佔一行。

2、用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨佔一行。

3、低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。

『伍』 C語言判斷素數

#include
int main()
{
int x,y,n,i,t,flag=0;
while(scanf("%d %d",&x,&y) && x!=0||y!=0 &&-39 <=x &&x <=y && y<=50)
{
for(n=x;n<=y;n++)
{
t=n*n+n+41;
if(flag==1)break;
else
for(i=2;i
追問:
交上學校的系統還是Wrong
Answer。。。
繼續求助……
追答:
#include
int main()
{
int x,y,n,t,flag=0;
int i=0;
while(scanf("%d %d",&x,&y) && x!=0||y!=0 &&-39 <=x &&x <=y && y<=50)
{
for(n=x;n<=y;n++)
{
t=n*n+n+41;
if(flag==1) break;
else
for(i=2;i
追問:
要哭了……我覺得並沒什麼錯了,還是錯
追答:
#include
int main()
{
int x,y,n,t,flag=0;
int i=0;
while(scanf("%d %d",&x,&y) && (x!=0 || y!=0) && -39 <=x &&x <=y && y<=50)
{
flag = 0;
for(n=x;n<=y;n++)
{
t=n*n+n+41;
if(flag==1) break;
else
for(i=2;i
追問:
對了對了!謝謝你啊!為什麼裡面加個flag=0就對了呢?還有那個i=0有什麼用嗎
追答:

i
=
0;
沒什麼用
加個flag
=
0
是因為如果上次不是素數
(這時flag
為1)
第二次
輸入
再判斷的時候
會認為
還不是素數
因為flag
=1

會直接
break
評論
0
0
載入更多

『陸』 c語言編程題!有關素數的!

判斷n是否是素數,可以用該數除以2至sqrt(n),這個你應該明白吧,因為該數的最大因子只可能是小於根號n的。
代碼:
sqrt()包含於math.h頭文件中。
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0) {則該數不是素數}
}
還有另外一種求一百以內的素數,建議用數組篩選法/
首先先用101的數組全部置零,接著以素數種子篩選,置1。最後判斷數組中為0的元素,其下標就是素數(注意處理1,1沒標記)。
for(i=2;i<=sqrt(100);i++)
if(!visit[i])
for(j=i*i;j<=100;j+=i)
visit[j]=1;
先寫成這樣吧,好過他們直接貼代碼,對你應該有一定的啟發吧!!

『柒』 C語言 求100到200之間到素數對

什麼意思啊 我不懂你意思 求100---200之間的素數么

『捌』 C語言求2~100中的所有的親密素數對的個數

測試結果:
第1對親密素數:[ 3, 5]
第2對親密素數:[ 5, 7]
第3對親密素數:[ 11, 13]
第4對親密素數:[ 17, 19]
第5對親密素數:[ 29, 31]
第6對親密素數:[ 41, 43]
第7對親密素數:[ 59, 61]
第8對親密素數:[ 71, 73]
請按任意鍵繼續. . .

代碼:
#include "stdio.h"
#include "stdlib.h"

int isPrimeNumber(int n)
{
int i;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
return 0;
}
return 1;
}

main()
{

int count=0,i=0;
for(i=2;i<=100;i++)
{
if(isPrimeNumber(i)&&isPrimeNumber(i+2))
printf("第%d對親密素數:[%3d,%3d]\n",++count,i,i+2);
}
system("pause");
}

『玖』 用C語言如何判斷素數

按照如下步驟即可用C語言判斷素數:

1、首先打開visual C++ 6.0,然後點擊左上角的文件,再點擊新建。

熱點內容
如何把安卓數據轉移到蘋果12 發布:2024-12-30 00:50:09 瀏覽:86
魯豫訪問金星 發布:2024-12-30 00:50:09 瀏覽:770
衣櫃密碼鎖如何開鎖 發布:2024-12-30 00:36:39 瀏覽:533
雙向鏈表建立c語言 發布:2024-12-30 00:27:59 瀏覽:127
cad文件怎麼找迴文件夾 發布:2024-12-30 00:27:22 瀏覽:438
安卓手機球球大作戰在哪裡錄像 發布:2024-12-30 00:27:21 瀏覽:183
編程用處 發布:2024-12-30 00:21:45 瀏覽:639
伺服器怎麼組裝電腦 發布:2024-12-30 00:20:01 瀏覽:598
c語言調用函數怎麼寫 發布:2024-12-30 00:12:07 瀏覽:404
安卓手機尾插如何更換 發布:2024-12-30 00:09:12 瀏覽:709