📄 1049.cpp
字号:
// see eular's proof;
#include <iostream>
using namespace std;
const int maxN = 10000;
bool isPrime[maxN + 1];
int a[maxN + 1];
int ans;
void init()
{
memset(isPrime, true, sizeof(isPrime));
memset(a, 0, sizeof(a));
int i, j;
for( i = 2; i <= maxN; i++ )
if(isPrime[i])
for( j = i; j*i <= maxN; j ++ ) isPrime[i*j] = false;
}
void readIn()
{
int t, i, j;
for( i = 1; i <= 10 ; i++ )
{
cin >> t;
for( j = 2; j <= t; j++ )
if( isPrime[j] )
while( t % j == 0 ) { a[j]++; t/=j; }
}
}
void work()
{
ans = 1;
int i;
for(i = 2 ; i <= maxN; i++ ) if( isPrime[i] && a[i] != 0 ){
ans *= a[i]+1;
ans %= 10;
}
}
int main()
{
freopen("1049.in","r",stdin);
freopen("1049.out","w",stdout);
init();
readIn();
work();
cout << ans << endl;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -