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

2023-12-13 13:50:03
  1. 题目描述

给你一个整数?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;
} 

文章来源:https://blog.csdn.net/eternallt/article/details/134969229
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。