欢迎光临
我们一直在努力

Timus 1118 Nontrivial Numbers

原题 : Nontrivial Numbers

题意:读入l,r, 从[l,r]之间找出一个数,使得这个数的因数的和除以这个数所得的值最小

解法:直接搜索

#include <iostream>using namespace std;#include <math.h>int l, r;int main() { cin >> l >> r; if (l == 1) { printf(“1\n”); return 0; } int ans = 0; double t = r; for (int k = r; k >= l; k–) { vps云服务器 double sum = 0; for (int i = 2; i*i <= k; i++) if (k%i == 0) { sum += i; if ((k/i) != i) sum += (k/i); } if ((sum/k) < t) { t = sum/k; ans = k; } if (t == 0) break; } cout << ans << endl;}

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。