首页 > 编程知识 正文

Timus 1118 Nontrivial Numbers

时间:2023-05-05 08:31:10 阅读:264715 作者:2810

原题 : 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("1n"); return 0; } int ans = 0; double t = r; for (int k = r; k >= l; k--) { 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;}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。