-
题目描述
给你一个整数 x,你需要判断,这个整数中是否出现过数字 62 或者能够被 62 整除。如果是,输出 Yes
,否则输出 No
即可。
输入格式
输入共一行,为一个整数 x。
输出格式
输出共一行。
如果 x 中出现过数字 62 或者能够被 62 整除,输出一行 Yes
,否则输出一行 No
。
输入输出样例
输入 #1
11624
输出 #1
Yes
输入 #2
12214
输出 #2
Yes
输入 #3
16124
输出 #3
No
输入 #4
62
输出 #4
Yes
说明/提示
样例 1 解释
显然,11624 中出现了 62。
样例 2 解释
容易知道,12214=62×197,所以 12214 可以被 62 整除。
样例 3 解释
虽然 16124 中出现了 6 和 2,但是没有出现一个完整的 62。这种情况不被叫做【出现 62】。
样例 4 解释
显然,62 中出现了 62,也是 62 的倍数。
数据规模与约定
对于 20% 的测试数据,保证 x≤10;
对于 40% 的测试数据,保证 x<100;
对于 100% 的测试数据,保证 1≤x≤1018。
分析
string
- 先用string储存输入的字符串
- 判断 :
- 将string类型转换为long long类型,用b储存,判断b%62是否等于0
- 依次枚举string的每一位,判断是否有连起来的62
代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
string a;
int main(){
cin>>a;
ll b=atoll(a.c_str());
if(b%62==0){
cout<<"Yes"<<endl;
return 0;
}
for(ll i=0;i<a.length();i++){
if(a[i]=='6'&&a[i+1]=='2'){
cout<<"Yes"<<endl;
return 0;
}
}
cout<<"No"<<endl;
return 0;
}