编写一个函数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
算法思路就是这样,至于代码我没有运行调试,仅供参考
{
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;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯