写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息

作者&投稿:郎丽 (若有异议请与网页底部的电邮联系)
用C语言写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。~

输出是否素数的信息的源代码如下:
#include
#include
bool prime(int x){
if (2 > x ) {
return false;
}
for (int i = 2; i < x ; i++) {
if (0 == x % i ) {
return false;
}
}
return true;
}
int main(){
for (int i = 2; i < 100; i++) {
if (prime(i)) {
printf("%d ",i);
}
}
printf("
");
return 0;
}

扩展资料
1、函数的使用可以身故重复代码的编写。
2、函数使得程序更加模块化,有利于程序的阅读修改和完善。
3、素数就是没有因子的数,只能被1和本身整除,所以我们就可以用循环解决,循环用于从2到他的根式判定是否有其他数可以整除它,有就跳出循环。

#include #include //判断是否为素数的函数int isPrime(int n){ int i=2; while(i<=(int)sqrt(n)) { if(n%i == 0) return 0; //不是素数,直接返回0 else i++; } return 1;}int main(){ int n; printf("输入一个正整数: "); scanf("%d",&n); if(isPrime(n)) printf("%d is a prime number
",n); else printf("%d is not a prime number
",n); return 0;}例运行结果:
输入一个正整数: 29
29 is a prime number
输入一个正整数: 25
25 is not a prime number

先建立一个初始的素数表,例如:100以内的素数数组,用来快速判断是否是素数对于超过100的素数,算法,用不大于根号n的素数,对n进行试除,如果都不能除尽,则为素数。

#include <stdio.h>

#include <math.h>

//判断是否为素数的函数

int isPrime(int n)

{

int i=2;

while(i<=(int)sqrt(n))

{

if(n%i == 0)

return 0;  //不是素数,直接返回0

else

i++;

}

return 1;

}

int main()

{

int n;

printf("输入一个正整数: ");

scanf("%d",&n);

if(isPrime(n))

printf("%d is a prime number
",n);

else

printf("%d is not a prime number
",n);

return 0;

}

扩展资料;

首先,本文英文字母都表示整数,上半部B 》3N 》W,下半部B 》W 》3N。大于3的素数只有6N-1和6N+1两种形式,我们只需判定这两种数是素数还是合数即可。

命题 1 对于B=36N+1 形数而言。

若不定方程(3N)^2+N-(B-1)/36=W^2 有整数解,

则 6(3N-W)+1 是小因子数;6(3N+W)+1 是大因子数。

若不定方程 (3N)^2-N-(B-1)/36=W^2 有整数解,

则 6(3N-W)-1 是小因子数;6(3N+W)-1 是大因子数。

参考资料来源:百度百科-质数



先建立一个初始的
素数
表,例如:100以内的素数数组,用来快速判断是否是素数
对于超过100的素数,
算法,用不大于根号n的素数,对n进行试除,如果都不能除尽,则为素数

int
isprime(int
n)
//
判断n是否为素数
{

if(n<2)
return
0;
//
小于2的肯定是合数

int
i;

for(i=2;i*i<=n;i++)
if(n%i==0)
//
如果找到一个可整除它的数,那么它就是合数了
return
0;

return
1;
}
int
main()
{

int
x;

scanf("%d",&x);

if(isprime(x))
printf("%d
is
a
prime\n",x);

else printf("%d
is
not
prime\n",x);

return
0;
}

#include
<stdio.h>
_Bool
sspd(unsigned
long
long
i);
int
main(void)
{
unsigned
long
long
x;
printf(" 
请输入
1
个正整数;");
while(scanf("%llu",&x)==1
&&
x)
{
if(sspd(x)
&&
x!=1
||
x==2)
printf(" 
%llu
是素数

",x);
else
printf(" 
%llu
不是素数

",x);
printf(" 
请输入
1
个正整数;");
}
return
0;
}
_Bool
sspd(unsigned
long
long
srs)
//必须:srs>2
{
unsigned
long
long
div;
for(div=2;div*div<srs+1;div++)
if(!(srs%div))
return
0;
return
1;     
}



#include<iostream>
using
namespace
std;
bool
isSushu(int);//检查是否是素数
void
main()
{
int
a;
cout<<"请输入数字:";
cin>>a;
if
(isSushu(a))
{
cout<<a<<"是一个素数"<<endl;
}
else
{
cout<<a<<"不是一个素数"<<endl;
}
}
bool
isSushu(int
a)
{
if
(a==2)
{
return
true;
}
for(int
i=2;i<a;i++)
{
if
(a%i==0)
{
return
false;
}
}
return
true;
}


写一个函数int prime(int x),判断数值x是否素数,如果是返回1,否则返回0...
源代码如下:include<stdio.h> include<math.h> intprime(intx){ inti;for(i=2;i<x;i++)if(x%i==0)return0;elsereturn1; } main(){ intx,m;printf("请输入需要判断的数字:\\n");scanf("%d",&x);m=prime(x);if(m==1){ printf("%d是素数\\n",x); } else { printf("...

如何实现一个函数,判断某个数是不是素数?
下面是一个 Python 程序,可以实现函数 Prme(n),接收正整数 n 作为参数,判断该正整数是否为素数。在这个程序中,我们定义了函数 Prme(n),接收一个正整数 n 作为参数。首先,我们判断 n 是否小于 2,如果是,则返回 False。然后,我们判断 n 是否等于 2,如果是,则返回 True。最后,我们使用一...

从键盘输入一个整数,调用函数fun判断其是否素数?
判断素数一般是判断数据能够否被2及以上的数据整除,方法1是直接除以大于2的数据,判断是否可以被整除。另外一种方法是开平方后,判断是否可以被2及以上的数据整除。下面列出方法1的示例:include "stdio.h"int fun(int arg){ int ret = 0;if (arg ==2){ return 1;} for(int i=2;i<arg;i...

设计一个函数用于判断一个数是否为素数,如果是素数返回1,否则返回0
include<stdio.h>int isss(int num);int main(){ int num; while(1) { printf("输入一个数:"); scanf("%d",&num); if(isss(num)) printf("%d是素数\\n",num); else printf("%d不是素数\\n",num); } return 0;}int isss(int num)\/\/判断是否...

...是素数。在主函数中输入一个整数,输出是否是素数的信息
is not prime.\\n",n); } int isPrime(int n) \/*函数的定义*\/ { int flag=1,i; for(i=2; i<n\/2;i++) if(n%i==0) \/*n被i整除了,则n不是素数*\/ { ___; break; } return(flag); } } 短横线处填写flag=0 运行后一直有个错误,求解救,帮忙看看那哪里出错了?

函数判断是否为素数的函数怎么写?
编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO。

...判断它们是否为素数。要求:编写一个函数int prime(int m)来判断...
include<stdio.h> int prime(int m);int main() { int i, a[10];for (i = 0; i < 10; i++)scanf("%d", &a[i]);printf("其中的素数为:\\n");for (i = 0; i < 10; i++)if (prime(a[i]) == 1)printf("%d\\t", a[i]);printf("\\n其中的非素数为:\\n");for ...

从键盘上输入一个整数,用fun函数判断是否为素数,然后在main函数中输出相...
using namespace std;bool fun(int num) { if (num <= 1)return false;for (int i = 2; i <= sqrt(num); ++i)if (num % i == 0)return false;return true;} int main() { int num;cout << "请输入一个整数:";cin >> num;if (fun(num))cout << num << "是素数" ...

编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符_百度...
编写函数,判断一个数字是否为素数,是则返回字符串YES,否则返回字符串NO。

写一个函数int prime(int x),判断数值x是否素数,如果是返回1,否则返回0...
源代码如下:include <stdio.h> include <math.h> int prime(int x){ int i;for(i=2;i<x;i++)if(x%i==0)return 0;else return 1; } main(){ int x,m;printf("请输入需要判断的数字:\\n");scanf("%d",&x);m=prime(x);if(m==1){ printf("%d是素数\\n",x); } else...

河东区15215302345: 写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息 -
冻昂脑血:[答案] #include using namespace std; bool isSushu(int);//检查是否是素数 void main() { int a; couta; if (isSushu(a)) { cout

河东区15215302345: 写一个判别素数的函数,在主函数输入一个整数,输出是否为素数的信息求解 -
冻昂脑血:[答案] #includeusing namespace std;bool isSushu(int);//检查是否是素数void main(){int a;cout<<"请输入数字:";cin>>a;if (isSushu(a)){cout<
河东区15215302345: 写一个判断素数的函数,在主函数输入一个整数,判断是否素数的信息. -
冻昂脑血: #include <stdio.h> int sushu(int n);void main() {int m;printf("input the number:\n");scanf("%d",&m);sushu(m); }int sushu(int n) {int i,sum=0;for(i=2;i<=n-1;i++){if(n%i==0){sum=sum+1;printf("i=%d ",i);}}if(sum==0)printf("该数为素数\n");elseprintf("该数不是素数\n");printf("\n");return 0; }

河东区15215302345: 写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息. -
冻昂脑血: #include <stdio.h> #include <math.h>int IsPrime(int n) {int i; for (i=2;i<=sqrt(n);i++) if (n%i==0) return 0; return 1;}main() {int x;scanf(&x); if (IsPrime(x)==1) printf("%d is a Prime number",x) else printf("%d is not a prime number",x); }

河东区15215302345: C语言编程 写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息. -
冻昂脑血: #include<stdio.h> int isprime(int n) { int i; for (i=2;i<n;i++) if(n%i==0)return 0; return 1; } void main() { int n; printf("请输入一个数:"); scanf("%d",&n); if(isprime(n)) printf("%d是素数\n"); else printf("%di不是素数\n"); } 追问: 求两个数的最大公约数和最小公倍数,用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数. 回答: 请重开问题麻烦采纳,谢谢!

河东区15215302345: 编写一个函数判断是否素数,在主函数中输入一个整数,调用该函数,在主函数中输出是否素数的信息 -
冻昂脑血: #include<stdio.h> int prime(int n) { if(n<2)return 0; int i; for(i=2;i*i<=n;i++) if(n%i==0) return 0; return 1; } int main() { int n; while(scanf("%d",&n)==1) if(prime(n))printf("%d is prime.\n",n); elseprintf("%d is not prime.\n",n); return 0; }

河东区15215302345: 写一个判断素数的函数 在主函数中输入一个整数,输出是否为素数的信 -
冻昂脑血: 给你两种答案选择:(都是自己编的,而且经过vc测试的!) 方法一: #include<stdio.h> void main() {int i,a,b=0; scanf("%d",&a);if(a==1)a++; for(i=0;i<=a;i++)if(a%i==0)b++; if(b==2)printf("您所输入的数据是一个素数.\n"); else printf("您...

河东区15215302345: 写一个判断素数的函数,在主函数输入一个整数输出是否素数的信息. -
冻昂脑血: #includeint f(int x) { int i,b; for ( i=2,b=1;i<=x/2;i++ ) if ( x%i==0 ) { b=0; break; } return b; } void main() { int x; scanf("%d",&x); printf("%d",x); if ( f(x)==0 ) printf("不"); printf("是素数.\n"); }

河东区15215302345: 编写一个素数的函数,在主函数中输入一个整数,判定是否是素数并输出是否是素数 -
冻昂脑血: 提供一个C的作参考:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22#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){intn;while(1){printf("Input ...

河东区15215302345: 写一个判断素数的函数,在主函数中调用该函数,统计100以内的正整数中哪些是素数,并输出结果 -
冻昂脑血:[答案] #include #include #include #include using namespace std; const int inf=100; int vis[inf]; void init () { int i,j; for (i=0; ivis[i]=1; for (i=2; i{ if (vis[i]==1) { for (j=i+i; jvis[j]=0; } } } int main () { init (); for (int j = 0; j { if (vis[j] == 1) { printf("%d ",j); } } }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网