100以內的質數c語言
㈠ 用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;
}
(1)100以內的質數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;
}
㈡ 用C語言求100以內的素數
單獨定義一個判斷是否為素數的函數,是則返回1,否則返回0。再用2或遍歷3~100的所有奇數依次調用這個函數,輸出返回1對應的值。舉例如下:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intprime(intn){
inti;
if(n>2&&!(n&1)||n<2)
return0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return0;
return1;
}
intmain(void){
inti;
for(i=2;i<100;i==2?i++:i+=2)
if(prime(i))
printf("%3d",i);
printf(" ");
return0;
}
㈢ 輸出100以內的質數,用c語言編寫
#include <stdio.h>
int main(int argc, char **argv)
{
int x;
for (x=1;x<100;x++){
int i;
int isprime=1;//表示x是素數。
for(i=2;i<x;i++){
if (x%i==0){
isprime=0;
break;
}
}
if (isprime==1){
printf("%d",x);
}
}
return 0;
}
C語言編程計算注意事項:
1、編程時注意符號大小寫。
2、main函數要有返回值
3、C語言中定義數組,要定義出大小,數組的大小隻能是常量不能是變數。
4、%md ; %0md ;%.mf;(以m位進行右對齊輸出,不足m位空格補上;以m位進行右對齊輸出。不足m位用0補上;保留m位小數)
㈣ 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;
}
C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言;
質數(prime number)又稱素數,有無限個。一個大於1的自然數,除了1和它本身外,不能被其他自然數整除。
㈤ C語言編程、求100以內所有質素數
樓主大括弧都未能匹配,{有兩個,}有三個,編譯就通過不了的。
剛寫了份代碼,已調試通過,供樓主參考:
#include
<stdio.h>
main(void)
{
int
i,t;
for(i=1;
i<=100;
i++)
{
if(i
==
1)
continue;
if(i
==
2)
{
printf("%d,",i);
continue;
}
for(t=2;
t
<=
i/2;
t++)
{
if((i%t)
==
0)
break;
}
if(t
>
i/2)
{
printf("%d,",i);
}
}
printf("\n");
return
0;
}
輸出的結果為:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,
再說說樓主代碼中一些錯誤:
1.之前提到編譯上就不能通過。{和}個數未能匹配。
2.
if(100%i!=0)
break;
該語句的含義是100除以i的余數不等於0則跳出循環,當為1時,就已經跳出循環了。而且這對於質素的判斷是毫無意義的,可以刪除。
3.
for(t=1;t<=i;t++)
質數的判斷的話,t應該是從2開始計數的,否則i%1肯定是等於0的。應修改為for(t=2;
t<=i;
t++)。此外,這里可以參考我的代碼,t<=i/2即可,用以提高提升效率。
希望對樓主有所幫助。謝謝。
㈥ c語言 求100以內的質數有多少個
k = sqrt(x);
for (i = 2; i <= k;i++) {
if( x % i == 0) break;
}
if (i <= k) printf{"不是質數"},否則反之,中心思想理解了就好
㈦ C語言求100以內素數的問題
#include<stdio.h>
int main()
{
int i=0;
int count=0;
for(i=0;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(" count=%d ",count);
return 0;
}
解題思路:
素數,就是除了1和他本身,不能被其他數整除的數字。答案就是用100到200之間的每個數字,除以2到其本身前面的那一個數字,如果此過程中出現整除的現象,則該數不是素數。如果沒有整除的現象,則該數為素數輸出。
(7)100以內的質數c語言擴展閱讀:
質數又稱素數。一個大於1的自然數,除了1和它自身外,不能整除其他自然數的數叫做質數;否則稱為合數。
質數的個數是無窮的。歐幾里得的《幾何原本》中有一個經典的證明。它使用了證明常用的方法:反證法。具體證明如下:假設質數只有有限的n個,從小到大依次排列為p1,p2,……,pn,設N=p1×p2×……×pn,那麼,要大於p1,p2,……,pn,所以它不在那些假設的素數集合中。