求问哪位友友知道为什么没有结果输出?还return了一个特别大的值。代码该怎么改呢
这是题目
把数组a[N]放到main函数外面,成为全局变量。不然这么大空间的数组,局部变量申请不到
将N改为1e5试试
下面是源代码
#include<bits/stdc++.h>
using namespace std;
const int N=100;
int a[N];//数组a存放n 的所有因数
int main()
{
long long n=2021041820210418;
int i,cnt=0;
for(i=1;i*i<=n;i++){
if(n%i==0)
{
if(n/i!=i)
a[cnt++]=n/i;
a[cnt++]=i;
}
}
int ans=0;
for(i=1;i<=cnt;i++)
for(int j=1;j<=cnt;j++)
for(int k=1;k<=cnt;k++)
if(a[i]*a[j]*a[k]==n)
ans++;
cout<<ans<<endl;
return 0;
}