1、先打開visualc++6.0,然后單擊左上角的文件,然后單擊新建。
專注于為中小企業提供網站設計制作、成都做網站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業硚口免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了上1000+企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
2、然后在新建對話框中單擊c++源文件。
3、在新創建的文件文本框中輸入預處理命令和主要函數,即函數頭和空類型。
4、然后定義變量并輸入數字,即定義變量的數據類型,輸出文本提示,然后輸入數字。
5、然后使用for和if函數查看它是否為素數。
6、單擊OK成功創建新創建的序,隨機輸入一個數字來驗證新創建的C語言。
#include stdio.h
int fun(int x)//
{
if(x2)
return 0;//返回0,非素數
for(int i=2;i*i=x;i++)
if(x%i==0)
return 0;
return 1;//返回1,素數
}
int main()
{
int n;
scanf("%d",n);
if(fun(n)==1)
printf("%d是素數\n",n);
else
printf("%d不是素數\n",n);
return 0;
}
素數又稱質數,所謂素數是指除了 1 和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被 2~16 的任一整數整除。
思路1、判斷一個整數m是否是素數,只需把 m 被 2 ~ m-1 之間的每一個整數去除,如果都不能被整除,那么 m 就是一個素數。
思路2、判斷方法還可以簡化。
m 不必被2~m-1之間的每一個整數去除,只需被2~√m之間的每一個整數去除就可以了。如果 m 不能被2~√m?間任一整數整除,m必定是素數。例如判別17是是否為素數,只需使17被2~4之間的每一個整數去除,由于都不能整除,可以判定17是素數。
原因:因為如果m能被2~m-1之間任一整數整除,其二個因子必定有一個小于或等于√m,另一個大于或等于√m。
例如16能被2、4、8整除,16=2*8,2小于 4,8大于4,16=4*4,4=√16,因此只需判定在2~4之間有無因子即可。
兩種思路的代碼請看解析。
拓展資料:
素數(prime number)又稱質數,有無限個。素數定義為在大于1的自然數中,除了1和它本身以外不再有其他因數。
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用于底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
參考資料:
百度百科——素數
百度百科——C語言
第一種方法就是用1到100之間的每個數字,除以2到其本身前面的那一個數字,如果此過程中出現整除的現象,則該數不是素數。如果沒有整除的現象,則該數為素數輸出。代碼如下#includestdio.h
int main()
{
int i = 0;
int count = 0;
for (i = 1; i = 100; i++)
{
int j = 0;
for (j = 2; j = i; j++)
{
if (i%j == 0)
{
break;
}
}
if (i == j)
{
count++;
printf("%d ", i);
}
}
printf("\ncount=%d\n", count);
return 0;
}
第二種方法使用了SQRT函數,也就是平方根,這里的平方根是整數。眾所周知,非素數可以寫成除了1和它本身相乘的a*b方式,而a、b之間必有一個小于等于ab之積的開平方根;如果這個非素數能夠被a整除,則相應的肯定會被b整除。這種方法用1到100之間的數字除以2到它的開平方根(如果該數的平方根是整數則可以除到),在此之間如果出現整除現象,則該數不是素數;如果沒有出現整除現象,則該數是素數。顯而易見,這種方法比第一種方法要簡便,運行的次數少#includestdio.h
#includemath.h
int main()
{
int i=0;
int count=0;
for(i=1;i=100;i++)
{
int j=0;
for(j=2;j=sqrt(i);j++)
{
if(i%j==0)
{
break;
}
}
if(jsqrt(i))
{
count++;
printf("%d ",i);
}
}
printf("\ncount=%d\n",count);
return 0;
}
網站標題:c語言素數用什么函數 c語言中素數函數
網站鏈接:http://vcdvsql.cn/article36/dosdhpg.html
成都網站建設公司_創新互聯,為您提供動態網站、Google、網站策劃、、網站維護、外貿建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯