永发信息网

编写一个函数int prime( int a ),判断参数是否为素数。函数有一个形参a,当a为素数时,返回1,反之,返回

答案:4  悬赏:30  手机版
解决时间 2021-01-03 20:30
  • 提问者网友:辞取
  • 2021-01-03 10:21
编写一个函数int prime( int a ),判断参数是否为素数。函数有一个形参a,当a为素数时,返回1,反之,返回
最佳答案
  • 五星知识达人网友:老鼠爱大米
  • 2021-01-22 03:11
int prime(int a)
{
int i;
for(i=2;i<a/2+1;i++)
{
if(a/i*i==a)return 0;
}
return 1;
}
----------------------------------------------------------------------
解释:c语言中,整型除以整型后会自动取整的
以1为起始,让参数除以从2开始直到自身的一半为止
如果出现整除,那么 a 除以 i 之后得到的整数再乘以 i 就会的到a自身,那么就说明a不是素数,直接返回0,函数结束
如果整个for循环结束了都不出现上述情况,则说明从2开始直到a自身的一半(这个‘一半’未必是整数,所以加1取整)为止都不存在a的约数,那么就说明a是素数,返回1
算法思路就是这样,至于代码我没有运行调试,仅供参考
全部回答
  • 1楼网友:琴狂剑也妄
  • 2021-01-22 06:11
#include<stdlib.h> #include<stdio.h> int prime(int m) { int i; int n; int k=0; int s=0; int judge=0; for(n=m;n<=m&&n>=1;n--) for(i=2;i<m/2;i++); if(n%i==0)judge=1; if(judge!=1) k=k+1; while(k<=10) s=s+n; return s; } main() { int m; int s; printf("请输入测试值m:"); scanf("%d",&m); s=prime(m); printf("%d",s); }
  • 2楼网友:一秋
  • 2021-01-22 04:41
int prime( int a ) { int i ; for(i = 2 ; i < a / 2 ; i++ ) if(a % i == 0 ) return 0 ; return 1 ; }
  • 3楼网友:骨子里都是戏
  • 2021-01-22 03:20
1:return 0; 2:return 1;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯