头像

Cyan

四川成都

深度强化学习炼丹师

2019第十届蓝桥杯国赛-D求值

2019第十届蓝桥杯国赛-D求值

2021-07-03 · 35次阅读 · 原创 · 数据结构与算法

题面

【问题描述】

学习了约数后,小明对于约数很好奇,他发现,给定一个正整数 t,总是可 以找到含有 t 个约数的整数。小明对于含有 t 个约数的最小数非常感兴趣,并 把它定义为 StS_t

例如 S1=1,S2=2,S3=4,S4=6,S_1 = 1, S_2 = 2, S_3 = 4, S_4 = 6,\cdots 。 现在小明想知道,当 t = 100 时,StS_t 是多少?即 S100 是多少?

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

思路

暴力枚举。从 1 开始枚举每一个数, 判断该数的约数个数有多少个,满足条件退出循环即可。

答案:45360

代码

#include<iostream> using namespace std; int main() { for (int i = 1; i < 100000; ++i) { int cnt = 0; for (int j = 1; j <= i / j; ++j) { if (j * j == i) cnt++; //如果 i 为平方数,则只加1 else if (i % j == 0) cnt += 2; } if (cnt == 100) { cout << i << endl; break; } } return 0; }

标题: 2019第十届蓝桥杯国赛-D求值
链接: https://www.fightingok.cn/detail/115
更新: 2022-09-18 22:40:08
版权: 本文采用 CC BY-NC-SA 3.0 CN 协议进行许可