问题遇到的现象和发生背景
因数之和
时间限制: 1.5秒 占用内存:250 M
输入两个整数A和B,求A的B次方的因子和。结果对1000000007取模。
格式
输入格式:一行两个整数A,B。
输出格式:输出一个整数表示对1000000007取模的结果。
样例1
输入:2 3
输出:15
备注
其中:1≤A,B≤6* 10^7
用代码块功能插入代码,请勿粘贴截图
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int n,A,B,i,sum=0;
scanf("%d%d",&A,&B);
n=pow(A,B);
for(i=1;i<=n;i++)
{
if(n%i==0)
sum=sum+i;
}
sum=sum%1000000007;
printf("%d\n",sum);
return 0;
}
运行结果及报错内容
我的解答思路和尝试过的方法
从1循环到A的B次方,找到A的B次方所有因子并求和,再对1000000007取模得到结果。
我想要达到的结果
对1≤A,B≤6* 10^7均能得到正确结果。