Timus 1049 Brave Balloonists
2016-04-09 22:29
393 查看
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1049
题目描述:
题目大意为给定10个数,然后求这10个数之积所对应的数的所有正因子的个数N的个位数。
那么直接对10个数进行质因数分解即可。(注意%10)
题目描述:
题目大意为给定10个数,然后求这10个数之积所对应的数的所有正因子的个数N的个位数。
那么直接对10个数进行质因数分解即可。(注意%10)
#include<cstdio> #include<iostream> #include<cstring> using namespace std ; const int MAXM = 10005 ; int val[10], prims[MAXM] ; void solve(){ memset(prims, 0, sizeof(prims)) ; for( int i = 0; i < 10; i++ ){ for( int j = 2; j <= val[i]; j++ ){ if( val[i] == 1 ) break ; while( val[i] % j == 0 ){ prims[j]++ ; val[i] /= j ; } } } int res = 1 ; for( int i = 0; i < MAXM; i++ ) res *= ((prims[i]+1) % 10) % 10 ; cout << res % 10 << endl ; } int main(){ ////freopen("1234.txt", "r", stdin) ; for( int i = 0; i < 10; i++ ) cin >> val[i] ; solve() ; return 0 ; }