为什么是错的???

#include<math.h>
#include<stdio.h>
#include<iostream>
using namespace std;

int work(int x){
int t=0;
for(int i=1;i*i<=x;i++){
if(x%i==0)
t+=2;
}
if(sqrt(x)*sqrt(x)==x) t-=1;
return t;
}

int main(){
long i,n,k,f=0,ans;
scanf("%d",&k);
for(i=1;i<=20000;i++){
if(work(i)==k){
f=1;
ans=i;
break;
}
}
if(f==1)
printf("%d",ans);
else
printf("NO SOLUTION");

//cout<<work(k);
//while(1);
return 0;
}

0 条评论

目前还没有评论...

信息

ID
1229
难度
4
分类
其他 | 数学 点击显示
标签
(无)
递交数
2036
已通过
939
通过率
46%
被复制
5
上传者