AC版本:
#include <iostream>
#include <cmath>
using namespace std;
int fuc(int a)
{
int sum = 1;
int b = sqrt(1.0 * a);
for(int i = 2; i <= b; i++)
{
if(a % i == 0)
{
sum += i;
int t = a / i;
if(t != i)
sum += t;
}
}
return sum;
}
int main()
{
int t;
int n;
cin >> t;
while(t--)
{
scanf("%d", &n);
printf("%d\n", fuc(n)); //用cout的会超时
}
return 0;
}而如果是用cout的话会超时!!!
#include <iostream>
#include <cmath>
using namespace std;
int fuc(int a)
{
int sum = 1;
int b = sqrt(1.0 * a);
for(int i = 2; i <= b; i++)
{
if(a % i == 0)
{
sum += i;
int t = a / i;
if(t != i)
sum += t;
}
}
return sum;
}
int main()
{
int t;
int n;
cin >> t;
while(t--)
{
scanf("%d", &n);
cout << fuc(n) << endl;
}
return 0;
}

本文探讨了在C++编程中通过优化输入输出方式来提升程序性能的方法,特别关注了如何避免使用cout导致的超时问题,并提供了一个高效的替代方案。文章深入分析了代码内部实现细节,包括利用数学函数sqrt和循环特性,从而实现快速求解。通过实例代码对比,清晰展示了改进前后程序执行效率的显著差异。
4948

被折叠的 条评论
为什么被折叠?



