B站上有一个名为《当萌娃说以后要当烤地瓜老板,妈妈的暖心回答,让网友纷纷点赞》的视频,视频对话如下:
萌娃:那我考上清华呢
妈妈:那麻麻会为你很骄傲呀
萌娃:考上了北大呢
妈妈:也会很骄傲的
萌娃:那我考上地瓜呢
妈妈:啊!!?考上了地瓜呢?考上了地瓜,如果你把地瓜烤的又香又软又甜又美味的话,我觉得也是可以的,也会为你骄傲的!
…………
琳看完这条视频后深深感动并决定安排烤地瓜。
在快乐的北街这里有好几家烤地瓜店,而每一家店都有相应的评分N(评分为一个正整数),琳认为这些评分不是自己评的,所以不具有很大的参考价值,于是她想到一个办法:列出已给评分的所有真因子(一个数的真因子为不包含它本身的其他正因子),将其中的质因子划去,再对剩下的因子相加求和,这个求和得到的结果即为琳对这个地瓜店的真实评分。
琳现在太想吃烤地瓜了,但是不想去计算地瓜店的真实评分,同时也不愿意随便找一家地瓜店,刚好你在旁边,你很想帮助她,于是你为琳编写了一个程序来计算地瓜店的真实评分。
输入格式:
在一行中给出一个正整数N
(10<=N
<=10000),表示一个地瓜店的评分。
输出格式:
在一行中输出对于琳来说的真实评分。
输入样例1:
16
输出样例1:
13
样例解释1:
整数16的真因子有1,2,4,8,其中只有2为质因子,所以16对应的真实评分为1+4+8=13。
输入样例2:
17
输出样例2:
1
样例解释2:
整数17的真因子只有1,所以17对应的真实评分为1。
#include<iostream> #include<cmath> using namespace std; int fun(int x) { for (int i = 2; i <= sqrt(x); i++) { if (x % i == 0) return x; } //是质因子 return 0; } int main() { int sorce = 1; int n; cin >> n; for (int i = 2; i < n; i++) { if (n % i == 0) sorce += fun(i); } cout << sorce; }