标签:str center 长度 des 遍历 proc efi 最大 for
2 3 2 6 4 3 4 6 9
Yes No
说道这题满满的不爽,我竟然在这里超时了N次;
我把求最大公约数的子函数用了辗转相减法(哭死);
其实题意一开始也不怎么清楚,其实就是所有的数的最大公约数大于等于2就行了,直接遍历;
1 #include <iostream> //dadadeGCD 1007 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #include <algorithm> 6 #define ll long long 7 #define N 10005 8 using namespace std; 9 ll gcd(int a,int b){ 10 return b?gcd(b,a%b):a; 11 } 13 ll a[N]; 14 int main() { 15 int n; 16 scanf("%d",&n); 17 while(n--){ 18 int m; 19 20 scanf("%d",&m); 21 for(int i=0;i<m;i++){ 22 scanf("%d",&a[i]); 23 } 24 if(m==1){ 25 if(a[0]>=2) 26 cout<<"Yes"<<endl; 27 else 28 cout<<"No"<<endl; 29 }else{ 30 ll z=gcd(a[0],a[1]); 31 for(int i=2;i<m;i++){ 32 z=gcd(z,a[i]); 33 } 34 if(z>=2) 35 cout<<"Yes"<<endl; 36 else 37 cout<<"No"<<endl; 38 } 39 } 40 return 0; 41 }
标签:str center 长度 des 遍历 proc efi 最大 for
原文地址:http://www.cnblogs.com/zllwxm123/p/7260395.html