① 如何用c語言編程判斷一個數是不是素數
方法一:
#include<stdio.h>
int main(){
int i,j;
printf("請輸入一個正整數。\n");
scanf("%d",&i);
if(i<2)
printf("小於2,請重新輸入。\n");
elseif(i%2==0)
printf("%d不是一個素數。\n",i);
else{
for(j=2;j<=i/2;j++){
if(i%j==0){
printf("%d不是一個素數。\n",i);
break;
}
if(j>i/2){
printf("%d是一個素數。\n",i);
break;
}
}
}
}
方法二:
#include<stdio.h>
int main(){
int a=0;
int num=0;
scanf("%d",&num);
for(inti=2;i<num-1;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("YES\n");
}else{
printf("NO\n");
}
}
方法三:
#include"stdio.h"
int main(){
printf("\t\t\t\t\thelloworld\n");
int a,i;
do{
printf("inputnumberjudgeprimenumber:\n");
scanf("%d",&a);
for(i=2;i<a;i++)
if(a%i==0)break;
if(i==a)
printf("%d是素數\n",a);
else
printf("%d不是素數\n",a);
}while(a!=0);
}
② C語言中判斷一個數是否為素數
f是一個標記,當他的值為1時,說明他能被某個不為1和它本身的數整除,也就是說你輸入的數不是素數,
至於那個i<=k和i>=k+1,如果你輸入的那個數M一直都不能被從2到sqrt(m)整除時,經過循環後i=K+1,就滿足i>=k+1,如果你輸入的數M能被從2到sqrt(m)的某個數整除時,i就不會>=k+1
③ 用C語言的編程:利用調用函數,判斷一個數是否是素數。
1、首先需要打開vs軟體工程,准備好一個空白的C語言文件,引入頭文件,主函數中暫時沒有內容:
④ 用c語言判斷一個數是否為素數
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int Judge(int x)
{
while(x>1)
{
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)
return 0;
return 1;
}
if(x<=1)
return 0;
}
main()
{
int x;
printf("請輸入一個數:");
scanf("%d",&x);
switch(Judge(x))
{
case 0: printf("\n%d不是素數",x);break;
case 1: printf("\n%d是素數",x);break;
}
system("pause");
}
⑤ C語言編寫一個程序判斷一個數是否為素數急求
目的:判斷一個數是否為素數
#include<stdio.h>
intmain(void)
{
int m;
inti;
scanf("%d",&m);
for(i=2;i< m;i++) //2到(m-1)的數去除m
{
if(m%i==0)//判斷能否整除
break;
}
if(i== m)
printf("YES!
");
else
printf("No!
");
}
for循環的功能:
①若能整除,通過break跳出函數;
②若一直到m-1都不能整除,此時i再自增1到m,不滿足i< m跳出for循環,這時i= m。
(5)用c語言判斷是否為素數擴展閱讀:
素數定理:
1、在一個大於1的數a和它的2倍之間(即區間(a,2a]中)必存在至少一個素數。
2、存在任意長度的素數等差數列。
3、一個偶數可以寫成兩個合數之和,其中每一個合數都最多隻有9個質因數。(挪威數學家布朗,1920年)。
4、一個偶數必定可以寫成一個質數加上一個合成數,其中合數的因子個數有上界。(瑞尼,1948年)。
5、一個偶數必定可以寫成一個質數加上一個最多由5個因子所組成的合成數。後來,有人簡稱這結果為(1+5)(中國潘承洞,1968年)。
6、一個充分大偶數必定可以寫成一個素數加上一個最多由2個質因子所組成的合成數。簡稱為(1+2)。
⑥ 如何用c語言判斷一個數是不是素數
判斷一個整數m是否是素數,只需把m被 2 ~ m-1 之間的每一個整數去除,如果都不能被整除,那麼m就是一個素數。思路1)的代碼:
#include <stdio.h>
int main(){
int a=0; // 素數的個數
int num=0; // 輸入的整數
printf("輸入一個整數:");
scanf("%d",&num);
for(int i=2;i<num;i++){if(num%i==0){a++; // 素數個數加1}}
if(a==0){printf("%d是素數。 ", num);}else{printf("%d不是素數。 ", num);}return 0;}
⑦ C語言編程判斷m是否為素數
/*Prime函數用來判斷參數m是否是素數,用的方法是用m被2~√m之間的整數除,看能不能整除。能整除,說明是合數,返回0,否則是素數,返回1。主調函數調用它,對輸入的整數n值進行判斷,看是否素數。*/
#include
<stdio.h>
#include
<math.h>
void
main()
{
int
IsPrime(int
m);
int
n,
flag;
printf("Input
n:");
scanf("%d",
&n);
flag
=
IsPrime(n);
if
(
flag)
printf("它是素數\n");
else
printf("它不是素數\n");
}
int
IsPrime(int
m)
{
int
i,
k;
if
(m
<=
1)
return
0;
for
(i=2;
i<(int)sqrt(m);
i++)
{
k
=
m%i;
if
(
k==0)
{
return
0;
}
}
return
1;
}
⑧ 用c語言判斷一個整數是否是素數
#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 n;
scanf("%d",&n);
if(isprime(n))
puts("yes");
else
puts("no");
return 0;
}