无限循环判断方法;
例题:2019新生狂欢赛B题
```cpp
#include<iostream>
using namespace std;
int w[110];
int beichu(int n){
while(n%2==0){
n=n/2;//是否为无限小数,含除1,2,5,本身外的因子,就是无限小数; 同理不含就不是;
}while(n%5==0){
n=n/5;
}return n;
}
int sushu(int n){
if(n==1){
return 1;
}else {
for(int i=2;i<=n;i++){
if(n%i==0){
return 2;
}
}return 1;
}
}
int main(){
int t,n;
cin>>t;
for(int i=0;i<t;i++){
cin>>n;
n=beichu(n);
n=sushu(n);
w[i]=n;
}
for(int i=0;i<t;i++){
if(w[i]==1)cout<<"No"<<endl;
else if(w[i]==2)cout<<"Yes"<<endl;
}
return 0;
}
注意:
1.只看最简分数的分母是否含除1,2,5,本身外的因子,含就是无限小数;
不含就不是;
## 无限循环判断