9行代码AC_HDU-6374 Decimal(余数,因子)
生活随笔
收集整理的這篇文章主要介紹了
9行代码AC_HDU-6374 Decimal(余数,因子)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
勵志用少的代碼做高效表達
Problem description
Given a positive integer n, determine if 1n is an infinite decimal in decimal base. If the answer is yes, print “Yes” in a single line, or print “No” if the answer is no.
?
Input
The first line contains one positive integer T (1≤T≤100), denoting the number of test cases.
For each test case:
Input a single line containing a positive integer n (1≤n≤100).
?
Output
Output T lines each contains a string “Yes” or “No”, denoting the answer to corresponding test case.
思路與解析
規律是:10的n次方(n>0)的質因子只有2和5。
因此, 最開始想到的思路是:看該數的質因子是否只有2和5
比賽結束后和同學交流:他們的解法是:定義一個大數,如1000000,看是否能整除n
解法一代碼
#include<bits/stdc++.h> using namespace std;bool f(int n){if(1==n)return false;else if(0==n%2) return f(n/2);else if(0==n%5) return f(n/5);else return true; }int main(){int T; cin>>T; while(T--) {int i; cin>>i;cout << (f(i)==false?"No":"Yes") << endl;} return 0; }解法二代碼
#include<iostream> using namespace std; int main(){long long int a=1000000000;int t; cin>>t; while(t--){int n; cin>>n;cout << (a%n!=0?"Yes":"No") << endl;} return 0; }總結
以上是生活随笔為你收集整理的9行代码AC_HDU-6374 Decimal(余数,因子)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解题报告——2017年C/C++ A组第
- 下一篇: 详解图示+例题演练——BF算法+KMP算