本文共 1045 字,大约阅读时间需要 3 分钟。
时间限制: 1 Sec 内存限制: 128 MB
如果一个自然数n(n>=1),满足所有小于n的自然数(>=1)的约数个数都小于n的约数个数,则n是一个Antiprime数。譬如:1, 2, 4, 6, 12, 24。
任务:
编一个程序:
读入自然数n。
2、 计算不大于n的最大Antiprime数。
读入一个整数,n(1 <= n <= 2 000 000 000)
不大于n的最大Antiprime数。
1000
840
#includeusing namespace std;long long n,maxx,num[12]={0,2,3,5,7,11,13,17,19,21,23},ans; void findd(long long now,long long tot,long long u,long long v){ if(maxx now)) { maxx=tot; ans=now; } if(v>=11) return; for(long long i=1;i<=u;i++) { now*=num[v]; if(now>n) return; findd(now,tot*(1+i),i,v+1); } } int main() { scanf("%I64d",&n); findd(1,1,500,1); cout<
转载地址:http://uotgn.baihongyu.com/