【MX-J3】 T0 官方题解
Z. 37 官方题解
本题考察的主要知识点:
- 【2】分支语句
- 【2】循环语句(模拟法)
- 【3】简单数论(数学法)
模拟法
计算出
思考一下怎么判断一个数个位和十位都相等——只要先取末两位 a%100%11==0),那么个位和十位就相等。
接下来判断十位和百位是否相等,百位和千位,以此类推。这个实现可以通过每次除以
#include<bits/stdc++.h>
using namespace std;
int a;
int main(){
cin>>a;
a*=37;
bool res=true;
while(a>=10){
if(a%100 % 11)
res=false;
a/=10;
}
if(res)cout<<"Yes";
else cout<<"No";
return 0;
}
数学法
如果
如果
因此
总而言之,
#include<bits/stdc++.h>
using namespace std;
int a;
int main(){
cin>>a;
if(a<=27 and a%3==0 or a==3003)
cout<<"Yes";
else
cout<<"No";
return 0;
}