#include<iostream>
using namespace std;
#define N 1000003
#define d 1073741824
int k[N];
int main(){
int a,b,c,ans=0,n;
cin>>a>>b>>c;
n = a*b*c;
//把n以内的每个数的质数因子个数求出来
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j+=i){
k[j]++;
}
}
for(int i=1;i<=a;i++){
for(int j=1;j<=b;j++){
for(int t=1;t<=c;t++){
ans+=k[i*j*t];
ans%=d;
}
}
}
cout<<ans;
return 0;
}
这个题目很好,解决了n之内的每个数的因数的个数。给出了一种极其简单的求n之内的每个数的因子个数的方法。贴出来,纪念一下。
本文介绍了一个简单高效的算法,用于计算一定范围内每个数的质因数个数。通过三重循环遍历并使用预定义数组进行累加,最终得出所有数的质因数个数总和。
2万+

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



