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;
}