Decimal
题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1004&cid=872
题目:
思路:只要满足n的因子除了只有2的倍数或者只有5的倍数亦或者只有2或者5的倍数,它就是有限小数,否则还有其他因子,就是无限小数,比如30,因子中包括2,3,5,10等,这个3就不符合要求
#include<stdio.h> #include<bits/stdc++.h> using namespace std; typedef long long ll; void p(int a[],int n) { int pos=0; a[pos]=n; for(int i=1;i<=sqrt(n);i++) { if (n % i == 0) { a[pos++] = i; a[pos++] = n / i; } } bool flag=false; for(int i=1;i<pos;i++) { if(a[i]%2!=0&&a[i]%5!=0) { flag=true; break; } } if(flag) printf("Yes\n"); else printf("No\n"); } int main() { int n; scanf("%d",&n); int x; while(n--) { scanf("%d",&x); if(x==1) printf("No\n"); else { // printf("%d",x); int a[100]; p(a, x); } } return 0; }