2020牛客寒假算法基础集训营1----E-rin和快速迭代
模仿某位大佬写的代码:
#include<bits/stdc++.h> //万能头文件
#define ll long long //知道看到这个答案才发现define可以这么用,方便了很多
using namespace std;
ll sum(ll n)
{
ll i,count=0;//计算因子个数
for (i=1;i*i<n;i++)
{
if (n%i==0)count=count+2;
}
return count+(i*i==n);//感觉这个+(i*i==n)这一步用的特别巧!
}
int main()
{
ll n,ans=0;
cin >> n;
while(n!=2)
{
n=sum(n);//迭代过程
ans++;//计算迭代次数
}
cout<<ans;
return 0;
}
感受:
简短的代码真的看起来很舒服而且有不少值得学习的写法呢,我在做这道题的时候一直过不了,然后看来这个答案之后就觉得很不应该一直错啊,明明不难。回忆了一下,迭代放在主函数里似乎更省时间,emmm记得得全部用long long,大概就这些了,记录一下一些小心得小看法。
(2020.02.05)