當前位置:首頁 » 編程語言 » c語言20以內質數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言20以內質數

發布時間: 2023-04-28 15:55:02

c語言程序設計 求1到20的素數

以下是求1到20的素數的C語言程序:

```c
#include <stdio.h>

int main() {
int i, j, flag;
printf("1-20的素數有:");
for (i = 2; i <= 20; i++) {
flag = 0;
for (j = 2; j <= i/2; j++) {
if (i%j == 0) {
flag = 1;
break;
}
}
if (flag == 0 && i != 1) {
printf("%d ", i);
}
}
return 0;
}
```

程序的主要思路是使用兩層循環,外層循環遍歷1到20之間的整數,內層循環遍歷當前數除去1和自身後的所有數,判斷是否有整除的情況。如果存在因卜叢子,則說明該數不是素數,將標志位flag置為空弊禪1,跳出內層循環。如果內層循環遍歷完畢後,flag仍等於0,則說明該數是素數,將其輸出即可。需要注意的是,1不是質數。

輸出結果斗塵為:
```
1-20的素數有:2 3 5 7 11 13 17 19
```

Ⅱ c語言輸出3~20之間的所以素數

#include<stdio.h>
intmain()
{
inti,j;
for(i=3;i<=20;++i){
for(j=2;j*j<=i;++j){
if(i%j==0){
break;
}
}
if(j*j>i){
printf("%d ",i);
}
}
return0;
}

Ⅲ c語言程序設計 求1到20的素數

#include<stdio.h>
main()
{ int a,i; for(i=1;i<=20;i++)
{ for(a=2;a<=i-1;a++)
{
if(i%a!=0)
{
if(a==i-1)
{
printf("i=%d\n",i);
}
else
continue;
}
else
break;

}
} getch(); }

Ⅳ C語言 求10-20以內素數之和

{
int m,i;
for(m=2;m<=10;m++)
{
for(i=2;i<m;i++)
if(m%i!=0) /*為什麼要用!=呢,這樣只要遇到不能被整除的數就會結束循環,這樣有些數字就會判斷錯誤*/
break; //跳出內層循環
printf("%3d",m); /*這個輸出在外層循環中,只要內層循環結束,就會執行,所以就算break起作用了,也只是跳出內層循環,還是會執行這一句,所以會順序輸出m的值*/
}
}

改:
{
int m,i;
for(m=2;m<=10;m++)
{
for(i=2;i<=m;i++) //改成i<=m,因為素數只能被1和他本身整除
if(m%i==0)//判斷是否有數能將m整除
break; //有則跳出內層循環
if(i==m)/*如果m能被其他數整除,則跳出循環後i值一定比m小,如果只被m本身整除,則跳出循環後i==m,證明m為素數*/
printf("%3d",m); //滿足條件才輸出
}
}

Ⅳ 用C語言如何求前20個質數

flag=0;
num=1;
for(i=1,i<1000,i++)
{
for(j=1,j<i,j++)
{
if (mod(i/j)==0) then
{
flag=1;
break;
}
}
if (flag==1) then
flag=0;
continue;
else
printf(i);
num=num++;
if (num>10) then break;
endif
}
大約是這樣子,好久沒寫C了 語法都忘干凈了。
最笨的方法:雙循環 第一循環遍歷1-1000的整數。第二循環判斷該整數是否能被1和他本身以外的地數整除,如果能則跳出循環試下一個數,如果該數是質數則列印,累加器計數。直到找出10個數 結束外層循環。

Ⅵ c語言 輸入20個數,找出其中的質數(素數)

void main(){
int a[20]。i。j。k;
for(i=0;i〈=19;i++)scanf(「%d」,&a[i]);
for(i=0;i<=19;i++){k=0;
for(j=2;j<a[i];j++) if(a[i]%j==0) k=1;
if(k==0) printf("%d",a[i]);
};

};

Ⅶ c語言輸出10到20的所有素數,並統計素數的個數

int f(int n){
int i;
for (i=2;i<n;i++) if (n%i==0) return 0;
return 1;}

void main(){
int i,n=0;
for (i=10;i<=20;i++) if (f(i)) {printf("%d\t",i);n++;}
printf("一共 %d 個\n",n);
}

Ⅷ 求2-20中的質數的演算法流程圖(c語言)

#include<stdio.h>判返

#include<math.h>

intsu(intn)//定義素數函數

{

inti,k;

k=(int)sqrt(n*1.0);

if(n==1)

return0;

if(n==2)

return1;

else

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

if(n%i==0)break;

if(i<=k)return0;//不團森是素數返回0

elsereturn1;//是素數返回1

}

intmain()

{

int掘或飢n;

printf("素數有: ");

for(n=2;n<=20;n++)//這里可以改所需范圍

if(su(n)==1)printf("%d ",n);

printf(" ");

return0;

}

Ⅸ C語言 求1——20所有素數之和

//素數不是奇數,有人搞錯了。
//1--20的素數是2 3 5 7 11 13 17 19 和為:77
#include<stdio.h>
int fun(int m)
{
int i;
if(m<2) return 0;
for(i=2;i<=m/2;i++)
if(m%i==0) return 0;
return 1;
}
void main( )
{
int n=0,i;
for(i=1;i<=20;i++)
if(fun(i))
n+=i;
printf("sum=%d\n",n);
}

Ⅹ 用C語言建造一個單鏈表,輸出20以內的素數

你的要求說得不是很清楚,下面提供的這個程序先生成一個存儲0~20的單鏈表,然後剔除其中非素數節點,最後列印出經處理後僅剩素數節點的單鏈表。#include <stdio.h>
#include <math.h>
#include <malloc.h>
#include <conio.h>
typedef struct node
{
int n;
struct node *Next;
}num;
int is_prime(int num)/*自定義函數:判斷是否素數*/
{
int i,sq;
if(num<=1) return 0;
sq=(int)sqrt(num);
for(i=2;i<=sq;i++)
{
if(num%i==0) break;
}
if(i<=sq)
return 0;
else
return 1;
}
main()
{
int i,m=0;
num *h,*p,*s;
if((h=(num *)malloc(sizeof(num)))==NULL) exit(0);/*生成一個存儲1~20的單鏈表*/
h->n=1;/*h:表頭,下同*/
h->Next=NULL;
p=h;/*p:當前節點,下同*/
for(i=2;i<=20;i++)
{
if((s=(num *)malloc(sizeof(num)))==NULL) exit(0);
p->Next=s;
s->n=i;
p=s;
}
p=h;
s=p;
for(i=0;i<20;i++) /*遍歷鏈表,剔除非素數節點*/
{
if(is_prime(p->n)==1)
{
s=p;
p=p->Next;
m++;
if(m==1) h=s;
}
else
{
s->Next=p->Next;
p=p->Next;
}
}
p=h;
for(i=1;i<=m;i++)/*列印整理後的單鏈表*/
{
printf("%d ",p->n);
p=p->Next;
}
getch();
return;
}