Ⅰ 任意輸入一個整數,判斷它是否為素數c語言編程實驗結果分析及心得體會
核心的演算法就是下面這句,看懂你就懂了
for(int i = 2; i <= sqrt(num); ++i)
{
if(num % i == 0)
return false;
}
#include<stdio.h>
#include<math.h>
boolisPrime(intnum)
{
if(num<2)
returnfalse;
for(inti=2;i<=sqrt(num);++i)
{
if(num%i==0)
returnfalse;
}
returntrue;
}
intmain()
{
intnum=0;
scanf("%d",&num);//輸入一個整數
if(isPrime(num))
printf("是素數 ");
else
printf("不是素數 ");
return0;
}
Ⅱ C語言實驗報告怎麼寫實驗步驟高手最好給個樣板啊!
.實驗報告規范
實驗報告內容包括:
1.實驗目的:說明實驗所驗證的知識點。
2.需求分析:以無歧義的陳述說明程序設計的任務、約束條件、輸入輸出要求、對功能的規定及模型。
3.邏輯設計:說明本程序中用到的所有抽象數據類型的定義、主程序的流程以及各程序模塊之間的層次調用關系。
4.詳細設計:邏輯設計中定義的所有數據類型的實現,核心演算法的設計描述、人機界面設計、函數之間調用關系的描述,主要功能的演算法框架,測試數據設計。
5.測試分析:測試結果的分析與討論,測試過程中遇到的主要問題及採取的解決措施。
6.心得:軟體設計與實現過程中的經驗與體會,進一步改進的設想。
7.程序清單:源程序中應有足夠的注釋。如果提交源程序軟盤,列出程序文件名。
Ⅲ C語言實驗——素數
#include <stdio.h>
void main()
{
int i, j, sum = 0;
int flag;
int a[50];
for (i = 101; i < 200; i+=2)
{
flag = 0;
for (j = 2; j <= i / 2; ++j)
{
if (i % j == 0)
{
flag = 1;
break;
}
}
if (!flag)
a[sum++] = i;
}
printf("%d\n", sum);
for (i = 0; i < sum; ++i)
printf("%d ", a[i]);
putchar('\n');
}
Ⅳ c語言程序設計實驗 輸出1到100之間的素數。
intmain()
{
inti,j;
for(i=2;i<100;++i){//2-100控制循環
//判斷素數
for(j=2;j*j<=i;++j){//2-sqrt(i)循環控制
if(i%j==0)break;//如果能整除,說明不是素數,跳出循環
}
if(j*j>i){//如果沒有能整除的數,說明是素數,輸出
printf("%d ",i);
}
}
return0;
}
Ⅳ 用C語言編1到100之間的素數程序
程序及解釋如下:
首先
判斷素數
的演算法:用一個數分別去除以2到sqrt(這個數),如果能被
整除
,
則表明此數不是素數,反之是素數。
則有如下程序
{
int
m,k,i;
for(m=1;m<=100;m=m+2)
//m=m+2,因為偶數都不是素數,不用考慮,所以每次m+2.
{
k=sqrt(m)
//先求這個數的平方跟
for(i=2;i<=k;i++)
//然後用i(從2到k,即m的平方跟)去除m,
if(m%i==0)
break;
//如果能被整除,
則不是素數,break
if(i>=k+1)
pritnf("%d",m);
//如果i>k+1,則說明沒有數能整除m.則m是素數
}
}
(5)c語言素數探究任務1實驗步驟擴展閱讀:
素數被利用在
密碼學
上,所謂的公鑰就是將想要傳遞的信息在編碼時加入
質數
,編碼之後傳送給收信人,任何人收到此信息後,若沒有此收信人所擁有的密鑰,則解密的過程中(實為尋找素數的過程),將會因為找質數的過程(
分解質因數
)過久,使即使取得信息也會無意義。
在
汽車變速箱
齒輪的設計上,相鄰的兩個大小齒輪齒數設計成質數,以增加兩齒輪內兩個相同的齒相遇嚙合次數的
最小公倍數
,可增強耐用度減少故障。
在害蟲的生物生長周期與殺蟲劑使用之間的關繫上,殺蟲劑的質數次數的使用也得到了證明。實驗表明,質數次數地使用殺蟲劑是最合理的:都是使用在害蟲繁殖的高潮期,而且害蟲很難產生
抗葯性
。
以質數形式無規律變化的導彈和魚雷可以使敵人不易攔截。
多數生物的生命周期也是質數(單位為年),這樣可以最大程度地減少碰見天敵的機會。
參考資料:搜狗網路
素數
Ⅵ C語言實驗題——素數
#include <stdio.h>
#include <math.h>
int main()
{
int num;
int i;
int n = 0;
for(num = 100; num <= 200; num++)
{
int boolean = 1;
for(i = 2; i < num; i++)
{
if(num % i == 0)
{
boolean = 0;
break;
}
}
if(boolean)
{
printf("%d\n", num);
n++ ;
}
}
printf("素數個數為: %d\n", n);
}
Ⅶ C語言求一個素數怎麼寫啊寫下思路和方法吧
bool is_Prime(UINT num)
{
if(num<2) return false;//num小於2不是素數
int ncount=(int)sqrt(num);//在2-ncount之間檢測num是否是素數
for(int i=2;i<=ncount;i++)
{
if(num%i==0)
return false;//能被某數整除,不是素數
}
return true;//不能所有2-ncount數整除,是素數
}
Ⅷ C語言類,實現一下功能:輸入一個正整數,判斷它是否是素數的實驗報告,關於遇到的問題和解決辦法
遇到的問題,1 可能 輸入的是負數,解決的方法,用if語句判斷。2輸入的正數超出你的判斷范圍,解決的方法重新輸入。
Ⅸ C語言 求100以內的所有素數 步驟詳解
for(j=2;j<ilj++) 分號寫成了l, 改為for(j=2;j<i;j++), 如果寫成for(j=2;j<i/2;j++)演算法更優,只需要判斷i是否能被i/2的數整除就可以了
flag=0; //flag標識是否能夠被2~i-1之間的數整除,如果能被整除說明i不是素數,將flag置為0
break; //如果存在i被j整除的情況,說明i已經不是素數了,沒有必要再循環,跳出for(j=2;j<i;j++)循環,判斷下一個i
if(flag==1) //如果flag仍然為1,說明i不能被2~i-1之間的數整除,這個數為素數,輸出這個數
Ⅹ C語言程序設計實驗報告 (1)編寫一個函數primeNum(int x),功能是辨別一個數是否為素數。
#include <math.h>
int primeNum(int p)
{
int i, q;
/* Negative number is not a prime */
if (p < 0)
return 0;
q = (int) sqrt(p);
for (i = 2; i < q; i++)
if ((p % i) == 0)
return 0;
/* No factor of p is found */
return 1;
}
/*原理::
從2-sqrt(x)的數中看是否有可以整除的, 如果沒有, 則為素數.
*/