搜索
您的当前位置:首页正文

B3699 [语言月赛202301] 就要 62——string

来源:好走旅游网

给你一个整数 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储存输入的字符串
  • 判断 :
  1. 将string类型转换为long long类型,用b储存,判断b%62是否等于0
  2. 依次枚举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;
} 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top