首页 > 其他 > 详细

Timus 1049 Brave Balloonists

时间:2016-04-09 23:34:44      阅读:310      评论:0      收藏:0      [点我收藏+]

题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1049

题目描述:

  题目大意为给定10个数,然后求这10个数之积所对应的数的所有正因子的个数N的个位数。

那么直接对10个数进行质因数分解即可。(注意%10)

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 using namespace std ;
 5 
 6 const int MAXM = 10005 ;
 7 int val[10], prims[MAXM] ;
 8 
 9 void solve(){
10     memset(prims, 0, sizeof(prims)) ;
11 
12     for( int i = 0; i < 10; i++ ){
13         for( int j = 2; j <= val[i]; j++ ){
14             if( val[i] == 1 )    break ;
15             while( val[i] % j == 0 ){
16                 prims[j]++ ;
17                 val[i] /= j ;
18             }
19         }
20     }
21     int res = 1 ;
22     for( int i = 0; i < MAXM; i++ )    res *= ((prims[i]+1) % 10) % 10 ;
23 
24     cout << res % 10 << endl ;
25 }
26 
27 int main(){
28     ////freopen("1234.txt", "r", stdin) ;
29     for( int i = 0; i < 10; i++ )    cin >> val[i] ;
30     solve() ;
31     return 0 ;
32 }

 

Timus 1049 Brave Balloonists

原文:http://www.cnblogs.com/be-saber/p/5372897.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!