導航:首頁 > 編程語言 > c語言編程求素數

c語言編程求素數

發布時間:2022-02-02 13:07:54

A. c語言編寫函數判斷素數

/判斷是不是素數

#include<stdio.h>

int prime(int a);//函數聲明

int main()

{

int n,i;

scanf("%d",&n);

if(prime(n)==1) //return返回值1

printf("prime");

else

printf("not prime") ;

}

int prime(int a)

{

int i;

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

if(a%i==0)

return 0;//a%i==0不成立

else

return 1;//a%i==0成立

}

(1)c語言編程求素數擴展閱讀:

素數的演算法

1、素數:除了1和本身外無法被其他自然數整除的數,叫做素數,也稱質數,如:2,3,5,7一系列。

2、合數:比1大但不是素數的數稱為合數,如:8,9,10一系列。

3、特殊的數字:1和0既不是素數也不是合數。

4、演算法: 1>確定性演算法 2>隨機性演算法 3>Eratosthenes演算法。

B. 用C語言寫出求素數的編程

參考代碼:
int main(){
int num,m,n,d,c,priSum;
printf("Enter the Range Between m,n ");
scanf("%d %d", &m,&n);
for (num = n; num <= m; num++)
{
for(d = 2; d < num; d++)
{
if (num % d == 0){
continue;
}
}

if (d == num){
priSum += d;
c++;
}
}
printf("m~n之間的素數個數:%d,和 %d ",c,priSum);
return 0;
}

C. 寫一個C語言編程,求素數及反序數

什麼意思(要求)?我這兒有我寫的一個判斷既是迴文數又是素數的程序,應該是一樣的吧?
#include<iostream>
//求既是迴文數又是素數的五位數,迴文數:即12121=12121;5687865=5687865;
#include "math.h"
#include "stdlib.h"
using namespace std;
int main()
{
int i;
int m = 0;
int j;
int num1 = 0;
for (i = 10000; i<100000; i++)
{
for (j = 2; j <= sqrt(i); j++)
{
if (i%j == 0)
{
break;
}
}
if (j>sqrt(i))
{
m = (i % 10) * 10000 + (i % 100 - i % 10) / 10 * 1000 + (i % 1000 - i % 100) / 100 * 100 + (i % 10000 - i % 1000) / 1000 * 10 + (i - i % 10000) / 10000;
if (m == i)
{
num1 = num1 + 1;
}
}

}
cout << "We find " << num1 << " number of the kind you want to find." << endl;
system("pause");
return 0;
}

D. C語言編寫一個程序判斷一個數是否為素數急求

目的:判斷一個數是否為素數

#include<stdio.h>


intmain(void)


{


int m;


inti;


scanf("%d",&m);


for(i=2;i< m;i++) //2到(m-1)的數去除m


{


if(m%i==0)//判斷能否整除


break;

}

if(i== m)


printf("YES! ");


else


printf("No! ");


}

for循環的功能:

①若能整除,通過break跳出函數;

②若一直到m-1都不能整除,此時i再自增1到m,不滿足i< m跳出for循環,這時i= m。

(4)c語言編程求素數擴展閱讀:


素數定理:



1、在一個大於1的數a和它的2倍之間(即區間(a,2a]中)必存在至少一個素數。



2、存在任意長度的素數等差數列。



3、一個偶數可以寫成兩個合數之和,其中每一個合數都最多隻有9個質因數。(挪威數學家布朗,1920年)。



4、一個偶數必定可以寫成一個質數加上一個合成數,其中合數的因子個數有上界。(瑞尼,1948年)。



5、一個偶數必定可以寫成一個質數加上一個最多由5個因子所組成的合成數。後來,有人簡稱這結果為(1+5)(中國潘承洞,1968年)。



6、一個充分大偶數必定可以寫成一個素數加上一個最多由2個質因子所組成的合成數。簡稱為(1+2)。

E. 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;

}

(5)c語言編程求素數擴展閱讀:

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

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

F. C語言編程:編寫程序,求3-100之間所有素數之和(要求判斷素數由函數實現)。

#include"stdio.h"
intisprime(intn)//判斷n是否為素數,是返回1,不是返回0
{
inti;
if(n==1)
return0;//1不是素數
for(i=2;i<=n/2;i++)//如果從2開始,到這個數半值時,有一個數能被整除,則不是素數
if(n%i==0)
return0;
//從2開始,到這個數一半值時,沒有一個能整除,則是素數
return1;
}
intmain()
{
intsum=0;
inti;
for(i=3;i<=100;i++)
if(isprime(i)==1)//是素數就加到sum上去,
sum+=i;
printf("3到100之間的素數之和為:%d ",sum);
}

G. 用C語言編寫在自然數中輸出100以內的素數

#include<stdio.h>

//輸出100之內的所有素數

int main()

{

int i;

int j;

int flag = 1;

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

{

for(j = 2;j <= i / 2;j++)

{

if(i % j ==0)

{

flag = 0;

break;

}

}

if(flag == 1)

{

printf("%d ",i);

}

flag = 1;

}

return 0;

}

(7)c語言編程求素數擴展閱讀

#include <stdio.h>

int main()

{

int a;

for (int i = 2; i < 100; i++)

{

int a = 0;

/* code */

for (int j = 2; j < i; j++)

{

/* code */

if (i % j == 0)

{

/* code */

a++;

}

}

if (a == 0)

{

/* code */

printf("%d is sushu ", i);

}

else

{

/* code */

printf("%d is not sushu ", i);

}

}

return 0;

}

H. C語言編程 求素數 求解釋

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main()
{
int m,i,k;
scanf("%d",&m);
k=sqrt(m); //一個數不是素數,那麼開平方也一定不是素數。
//將一個數開平方再取整,可以減少比較次數,提高運行效率。

for(i=2;i<=k;i++)//一個一個比較看這個數能不能除盡小於它的所有數
if(m%i==0) //如果可以除盡這個數,那麼就跳出循環
break;
if(i>=k+1) //如果i>=k+1 說明一直循環到最後了,中間沒有可以除盡的數,這個數就是素數
printf("%d is a prime number\n",m);
else //相反就不是素數
printf("%d is not a prime number\n",m);

system("pause");
}

I. c語言編程求素數(也即是質數)

#include <stdio.h>
void main()
{ int x;
int i,f;
f=0;
scanf("%d",&x);
for(i=2;i<x/2+1;i++)
if(x%i==0) { f=1; break;}
else {f=0; continue;}
if(f) printf("%d不是素數\n",x);
else printf("%d是素數\n",x);
system("pause");
}
比之前的少一般的計算量

閱讀全文

與c語言編程求素數相關的資料

熱點內容
反詐app在哪裡下安全 瀏覽:745
python判斷linux系統 瀏覽:823
git伺服器如何啟動 瀏覽:43
noi演算法 瀏覽:461
zip解壓縮是電腦自帶的嗎 瀏覽:643
魔術演算法術嗎 瀏覽:783
復式五肖演算法 瀏覽:721
海康威視設備已加密 瀏覽:663
自適應路由演算法 瀏覽:315
pythonxlwt寫入一列 瀏覽:995
性之助app哪裡可以下載 瀏覽:414
安卓如何自己改圖標 瀏覽:848
如何去掉app資源庫的建議 瀏覽:730
中興研發面試要寫演算法嗎 瀏覽:65
linux系統配置文件 瀏覽:601
php登錄網頁模板 瀏覽:931
windownginxphp 瀏覽:509
resync命令 瀏覽:536
dos命令手冊 瀏覽:287
矽谷編程二維數組 瀏覽:41