⑴ c語言中 要求找出10以內的素數,我這么寫,為啥不對,求助大神
//素數是這樣的整數,它除了能表示為它自己和1的乘積以外,
//不能表示為任何其它兩個整數的乘積。
//例如2357
#include<stdio.h>
intmain()
{
inta,i,w=0,j=0,q;
if(j<=10)
{
for(a=9;a>1;a--) //這里a=a-2改為了a--
{
w=0; //添加了這句,把w清零。
for(i=a;i>1;i--)
{
if((a%i)!=0)
{
w=w+1;
}
}
if(w==(a-2))
{
j=j+1;
printf("%d ",a);
}
}
}
}
⑵ 用C語言求10以內的素數
判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,則表明此數不是素數,反之是素數。
你的方法都錯了,還能正確嗎。
#include <math.h>
main()
{
int m,i,k,h=0,leap;
printf("\n");
for(m=1;m<10;m++)
{
leap=1;
k=sqrt(m+1);
for(i=2;i<=k;i++){
if(m%i==0)
{
leap=0;
break;
}
}
if(leap)
printf("%d,",m);
}
getch();
getch();
}
⑶ 求"求素數的C語言程序"
#include <stdio.h>
int main()
{
int a=0;
int num=0;
int i;
printf("輸入一個整數:");
scanf("%d",&num);
for(i=2;i<num;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("%d是素數。 ", num);
}else{
printf("%d不是素數。 ", num);
}
return 0;
}
(3)c語言中十以內的素數程序擴展閱讀:
質數又稱素數。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。
基本演算法:若 k%m==0 則說明 k 不是素數。
判斷整數n是否為素數——採用枚舉法求解。
採用枚舉演算法解題的基本思路:
(1)確定枚舉對象、枚舉范圍和判定條件;
(2)枚舉可能的解,驗證是否是問題的解。
枚舉演算法的一般結構:while循環。
參考資料來源:網路-枚舉法
⑷ 用C語言求10以內的素數
判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,則表明此數不是素數,反之是素數。
你的方法都錯了,還能正確嗎。
#include <math.h>
main()
{
int m,i,k,h=0,leap;
printf("\n");
for(m=1;m<10;m++)
{
leap=1;
k=sqrt(m+1);
for(i=2;i<=k;i++){
if(m%i==0)
{
leap=0;
break;
}
}
if(leap)
printf("%d,",m);
}
getch();
getch();
}
⑸ 怎樣用C語言編一個辨別1~10中哪些是素數的程序呢謝謝了
#include <stdio.h> /* I/O庫函數原型聲明 */
#include <math.h>
void main (void) //任一充分大的偶數,可以用兩個素數之和表示。
{
int j,n,p,q,flagp,flagq;
printf("please input n :");
scanf("%d",&n);
if (((n%2)!=0)||(n<=4))
printf("input data error!\n");
else
{
p = 1 ;
do {
p = p + 1 ;
q = n - p ;
flagp=1;
for(j=2; j <= (int)(floor(sqrt((double)(p))));j++)
{
if ((p%j)==0)
{
flagp=0;
break;
}
}
flagq=1;
for (j=2;j<=(int)(floor(sqrt((double)(q))));j++)
{
if ((q%j)==0)
{
flagq= 0 ;
break;
}
}
} while (flagp*flagq==0);
printf("%d = %d + %d \n",n,p,q);
}
while (1) {};
}
你可以調試一下,任一充分大的偶數,可以用兩個素數之和表示。結果都可以輸出出來。祝你好運。
⑹ c語言:求出10~100之間的所有素數
素數就是只能被1和自身整除的數,可以定義一個函數用於判斷一個數是否是素數,接著從10到100依次遍歷,判斷其是否是素數,如果是並輸出。
參考代碼:
#include"stdio.h"
intfun(intn){//判斷n是否是素數
inti;
for(i=2;i<n;i++)
if(n%i==0)return0;
return1;
}
intmain()
{
inti;
for(i=10;i<=100;i++)//循環判斷是否是素數
if(fun(i))
printf("%d",i);
return0;
}
/*
運行結果:
*/
⑺ C語言編寫程序,每5個一行輸出10~500以內的素數
很簡單哦:
main()
{
int i=0,j,b=10;
for(j=2,j<b/2,j++)
{ for(i,i<5,i++)
{ if(b/j==0)
b++;
else
printf(「d%」,b);
}
printf("\n")
}
這個參考程序。由於我電腦上沒裝tc軟體,不能幫你模擬啦,自己檢查下是否有錯誤,不明白的地方可以問我哦。
⑻ c語言求10以內的素數
#include<stdio.h>
int main()
{
int i,j;
for(i=2;i<=10;i++)
{
for(j=2;j<i;j++)
{
if(0==i%j)
{
break;
}
}
if(j>=i)
{
printf("%d ",i);
}
}
return 0;
}
⑼ 在C語言中如何編輯一個能輸出一個1到10的素數的個數的程序
#include <stdio.h>
#include <string.h>
main()
{
int i,j,k;
for(i=1;i<=10;i++)
{ k=sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0)
break;
if(j>=k+1)printf("%d",i);
}
}
我的這個程序就是輸出所有的素數.
⑽ 用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是素數
}
}
(10)c語言中十以內的素數程序擴展閱讀:
素數被利用在密碼學上,所謂的公鑰就是將想要傳遞的信息在編碼時加入質數,編碼之後傳送給收信人,任何人收到此信息後,若沒有此收信人所擁有的密鑰,則解密的過程中(實為尋找素數的過程),將會因為找質數的過程(分解質因數)過久,使即使取得信息也會無意義。
在汽車變速箱齒輪的設計上,相鄰的兩個大小齒輪齒數設計成質數,以增加兩齒輪內兩個相同的齒相遇嚙合次數的最小公倍數,可增強耐用度減少故障。
在害蟲的生物生長周期與殺蟲劑使用之間的關繫上,殺蟲劑的質數次數的使用也得到了證明。實驗表明,質數次數地使用殺蟲劑是最合理的:都是使用在害蟲繁殖的高潮期,而且害蟲很難產生抗葯性。
以質數形式無規律變化的導彈和魚雷可以使敵人不易攔截。
多數生物的生命周期也是質數(單位為年),這樣可以最大程度地減少碰見天敵的機會。
參考資料:網路 素數