您的位置:首页 > 其它

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)

#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 ;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: