首页 > 其他 > 详细

Round#579(Div 3) C. Common Divisors

时间:2019-08-14 09:26:49      阅读:89      评论:0      收藏:0      [点我收藏+]

---恢复内容开始---

技术分享图片

题意:输入一组整数,寻找这组整数的公共因子个数

思路:先寻找最大公因子,再寻找最大公因子的因子个数(注意:此处的因子包括1)

 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 int main() {
 5     int t;
 6     ios::sync_with_stdio(false);
 7     cin>>t;
 8     long long int tmp, inp;
 9     cin>>tmp;
10     t --;
11     while(t --){
12         cin>>inp;
13         if(tmp != 1)
14             tmp = __gcd(tmp, inp);
15     }
16     long long int ans = 0;
17     for(long long i = 1; i * i <= tmp; i ++){
18         if(tmp % i == 0){
19             ans ++;
20             if(i * i != tmp)
21                 ans ++;
22         }
23     }
24     cout<<ans<<endl;
25     return 0;
26 }

本来以为时间消耗的大头是gcd。。。计算因子个数的部分就随便写了,后来TLE了一发之后改改才过。。。。。

---恢复内容结束---

Round#579(Div 3) C. Common Divisors

原文:https://www.cnblogs.com/quantumbird/p/11349585.html

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