求解怎么用C语言for循环找一个数的最大素数
答案:2 悬赏:80 手机版
解决时间 2021-11-09 10:14
- 提问者网友:蔚蓝的太阳
- 2021-11-08 11:34
求解怎么用C语言for循环找一个数的最大素数
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-11-08 12:21
什么是“一个数的最大素数”?追问输入一个数,输出比它小的最大素数追答#include
#include
int prime(int n)
{int i;
for(i=2;i<=sqrt(n+1);i++)
if(n%i==0)return 0;
return n>1;
}
int main()
{int i;
scanf("%d",&i);
for(i--;i;i--)
if(prime(i))break;
if(i)printf("%d\n",i);
else printf("没有比它小的素数\n");
return 0;
}追问请问i-是什么意思,自减不是--吗。。追答程序中只有i--,没有单独的i-
追问哦哦,多谢
#include
int prime(int n)
{int i;
for(i=2;i<=sqrt(n+1);i++)
if(n%i==0)return 0;
return n>1;
}
int main()
{int i;
scanf("%d",&i);
for(i--;i;i--)
if(prime(i))break;
if(i)printf("%d\n",i);
else printf("没有比它小的素数\n");
return 0;
}追问请问i-是什么意思,自减不是--吗。。追答程序中只有i--,没有单独的i-
追问哦哦,多谢
全部回答
- 1楼网友:玩家
- 2021-11-08 12:33
#include
#include
#define TRUE 1
#define FALSE 0
int isPrime(int n)
{
int i;
for(i=2;i<=(int)sqrt(n);i++)
if(n%i == 0)
return FALSE;
return TRUE;
}
int main()
{
int n,i;
scanf("%d",&n);
if(n<2)
{
printf("Input Error!\n");
return -1;
}
for(i=n-1;i>=2;i--)
if(isPrime(i))
{
printf("比%d小的最大素数是%d\n",n,i);
break;
}
return 0;
}
示例运行结果:
100
比100小的最大素数是97
#include
#define TRUE 1
#define FALSE 0
int isPrime(int n)
{
int i;
for(i=2;i<=(int)sqrt(n);i++)
if(n%i == 0)
return FALSE;
return TRUE;
}
int main()
{
int n,i;
scanf("%d",&n);
if(n<2)
{
printf("Input Error!\n");
return -1;
}
for(i=n-1;i>=2;i--)
if(isPrime(i))
{
printf("比%d小的最大素数是%d\n",n,i);
break;
}
return 0;
}
示例运行结果:
100
比100小的最大素数是97
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯