c語言求素數的函數
㈠ c語言怎麼求素數
除2以外,素數皆為奇數,所以對2單獨處理,從3開始,將100以內的奇數逐一進行素數考察,是則輸出,不是則跳過。另設一計數變數控制換行,每輸出5個素數添加一個回車。代碼如下:
#include "stdio.h"
int main(int argc,char *argv[]){
int i,n,t;
pr
#include
#include
main()
{
int a,i,flag,count=0;
for(a=1;a <=100;a++)
{
flag=0;
for(i=2;i
#include int main()
{
int i,n,k,b;
for(i=1,b=1;i<=100;i++)
{
for(n=2;n {
k=i%n;
if(k==0)
break;
}
(1)c語言求素數的函數擴展閱讀:
C語言注意事項:
1、預編譯命令不是語言語句,不使用分號,不佔用運行時間。
2、在IDE中通常包括編輯器,編譯器,匯編器和鏈接器,在這個過程中是語言等級逐級降低的過程,從最高級的c語言到中級語言匯編語言再到低級語言機器語言,編輯器生成文橋如察件為.c文件,編譯器生成的文件為obj匯編器生成的文件橡租為.0文件,鏈接器生成的是exe文件。
3、注意 return和exit的區別, return是讓本函數運行結束,而exit是讓本程序運行結束。
4、在指針定義時,一定要進行初始化,否則就會出現意想不到的錯誤,如果不能找到對應地址賦值,那就賦給NULL(注意大寫)。
5、gets可以 scanf辦成辦不成的事,就是可以接受空格,puts在最後會輸出一個換敏茄行。
㈡ 用c語言編程序,用函數求素數,調用函數
#include<stdio.h>
#include<math.h>
//判斷是否為素數的函數
intisPrime(intn)
{
inti=2;
while(i<=(int)sqrt(n))
{
if(n%i==0)
return0;//不是素數,直接返回0
else
i++;
}
return1;
}
intmain()
{
intn,i;
printf("輸入一個正整數:");
scanf("%d",&n);
for(i=2;i<=n;i++)
{
if(isPrime(i))//調用函數,如果該數為素數,則輸出
printf("%d",i);
}
printf(" ");
return0;
}
示例運行結果:
輸入一個正整數: 50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
㈢ C語言素數的求法
如果一個數是素數,只要判斷他是否能被2到這個數的開方之間的數整除就行了。
int flag=0;
if(m==2){ //先判斷是不是2
flag=1;
}
else{
for(int i=2;i<=sqrt(m);i++){
flag=1;
if(m%i==0){ //不是素數
flag=0;
break;
}
}
}
return (flag==1)?m:-1; //判斷是否為1,為1輸出m,否則輸出-1 ,-1表示不是素數
如果是求某個范圍的素數,可以連續調用這個方法,上面是常規的方法,還有更好的方法自己去查一下。
㈣ c語言函數求素數
#include<stdio.h>
#include<math.h>
void main()
{
int input_x,result;
printf("Please enter a INT number: ");
scanf("%d",&input_x);
result = prime_number(input_x);
printf("%d, ",input_x);
if(result)
{
printf("It is a prime number");
}
else
{
printf("It is 'not' a prime number");
}
}
prime_number(num)
{
int a,i,temp;
temp = 0;
a=sqrt(num);
for(i=2;i<=a;i++)
{
if(num%i==0)
{
temp = 1;
break;
}
}
if(temp == 0)
return 1;
return 0;
}
㈤ C語言如何使用自定義函數判斷素數
#include <stdio.h>
int fun(int x)//
{
if(x<2)
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);
else
printf("%d不是素數 ",n);
return 0;
}
㈥ c語言中如何求素數
#include<stdio.h>
#include<math.h>
void main() // 這里不要搞錯了,main
{
int i,n;
printf("輸入一個整數n");
scanf("%d",&n);
n=abs(n);
if(n>2)
{
for(i=2;i<n;i++)// 在for下面跟個if判斷,如果你輸入4的話,這個程序列印兩次4不是
if(n%i==0&&n==i)
scanf("%d是素數",n); break ;// 這里應該是printf了吧,
else
scanf("%d不是素數",n); break;// 這樣會比較好點
}
else
scanf("%d不是素數",n);// 2就不是素數么,
}
這樣也有問題,當你輸入5的時候,for語句先判斷能否整除2,不能整除2的話,就列印不是素數,寫個函數是比較好的方法
㈦ 用c語言求500到1000的素數
#include <stdio.h>
int isprime(int n)
{
int i;
前知 if(n<2)
return 0;
for(i=2;i*i<=n;++i)
if(n%i==0)
芹者 return 0;
慧首消 return 1;
}
int main()
{
int i;
for(i=500;i<1000;++i)
if(isprime(i))
printf("%d ",i);
return 0;
}