|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
找最接近的素数,输出咋不对
- #include <stdio.h>
- int lml(int n)
- {
- int i;
- if(n==1)
- {
- return 0;
- }
- else if(n==2||n==2)
- {
- return 1;
- }
- else if(n>=4)
- {
- for(i=2;i<=n/2;i++)
- {
- if(n%i==0)
- {
- return 0;
- }
- }
- return 1;
- }
- }
- int main()
- {
- int n;
- scanf("%d",&n);
- while(n)
- {
- int num,x=1,y=1;
- scanf("%d\n",&num);
- if(lml(num)==1)
- {
- printf("%d\n",num);
- continue;
- }
- else
- {
- while(lml(num-x)!=1&&(num-x)>=1)
- {
- x++;
- }
- while(lml(num+y)!=1)
- {
- y++;
- }
- if(x>=y)
- {
- printf("%d\n",num+y);
- }
- else
- {
- printf("%d\n",num-x);
- }
- }
- n--;
- }
- return 0;
- }
复制代码
|
|