题意:
给你一个100位的数字,问你去掉某些位数能不能使他能被8整除。
并输出这个数。(任意满足题意的一个即可)
题解:
有一点,1000的倍数全部都能被8整除,所以我们只要枚举1,2,3位数能否被8整除即可。
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=2e5+10;
char s[105];
int main(){
scanf("%s",s);
int len=strlen(s);
int t1,t2,t3;
for(int i=0;i<len;++i){
t1=s[i]-'0';
if(t1%8==0) {printf("YES\n%d\n",t1);return 0;}
for(int j=i+1;j<len;++j){
t2=t1*10+s[j]-'0';
if(t2%8==0) {printf("YES\n%d\n",t2);return 0;}
for(int k=j+1;k<len;++k){
t3=t2*10+s[k]-'0';
if(t3%8==0) {printf("YES\n%d\n",t3);return 0;}
}
}
}
puts("NO");
return 0;
}