D. Product of Binary Decimals
题目:
提示:
首先如果该数目都是1和0组成那肯定输出yes了,还有这个数如果是二进制的乘积也可以yes
现在举个例子看看
121=11x11
14641=11x11x11x11
显然也是yes,但是要如何做呢,下面介绍无脑做法。
AC代码
#include<bits/stdc++.h>
using namespace std;
int c[]={10,11,100,101,110,111,1000,1001,1010,1100,1011,1101,1110,1111,11111,11110,11101,11011,10111,11111,10001,10010,10100,11000,10011,10101,10110,11010,11001,11100};
//因为给的数据范围最大是1e5,所以把符合0和1组合的都写出来
int main()
{
int T;
cin >> T;
while(T--)
{
int t;
cin>>t;
for(int i=29;i>=0;i--){
if(t%c[i]==0){
t/=c[i];//全部遍历
i++;
}
}
if(t==1)cout<<"YES"<<endl;//如果t最后能到1那么就yes了
else cout<<"NO"<<endl;
}
return 0;
}
标签:int,Codeforces,cin,11111,无脑,--,Div,yes
From: https://blog.csdn.net/2301_81058663/article/details/137203574