Divisibility by Eight
来源:互联网 发布:程序员公众号 编辑:程序博客网 时间:2024/05/24 04:28
把当前数删除几位然后可以整除与8
那么可得知大于3位数的判断是否能整除于八的条件是(n%1000)%8==0
可以得出我们的结论:只需要枚举后三位后两位后一位即可知道是否可整除于8
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;char a[200];int main() { //printf("%d\n",344%8); int ans = 0 ; int flag = 0; scanf("%s",a); int l = strlen(a); if(l>=3) { for(int i=0; i<l-2; ++i) { if(a[i]=='0') continue; for(int j=i+1; j<l-1; ++j) { for(int k=j+1; k<l; ++k) { ans = (a[i]-'0')*100+(a[j]-'0')*10+a[k]-'0'; if(ans%8==0){ flag=1; break; } } if(flag) break; } if(flag)break; } } // printf(" %d %d\n",flag,ans); if(!flag&&l>=2) { for(int i=0; i<l-1; ++i) { if(a[i]=='0') continue; for(int j=i+1; j<l; ++j) { ans = (a[i]-'0')*10+(a[j]-'0'); if(ans%8==0) { flag=1; break; } } if(flag) break; } } if(!flag) { for(int i=0; i<l; ++i) if((a[i]-'0')%8==0) { ans=a[i]-'0'; flag=1; break; } } if(!flag) { puts("NO"); } else puts("YES"),printf("%d\n",ans);}
0 0
- Divisibility by Eight
- Codeforces550C:Divisibility by Eight
- Divisibility by Eight
- C. Divisibility by Eight
- Divisibility by Eight
- Codeforces Divisibility by Eight
- CF C. Divisibility by Eight
- [CodeForces550C]Divisibility by Eight[数学]
- CODEFORCES 550 C. Divisibility by Eight
- codeforces 550C Divisibility by Eight(数学题)
- 550C Divisibility by Eight(还是枚举)
- CodeForces 550C Divisibility by Eight(枚举)
- Codeforces 550 C. Divisibility by Eight
- codeforce 550c Divisibility by Eight (DFS)
- 【codeforces 550C】Divisibility by Eight
- cf 550c Divisibility by Eight 【规律】
- Codeforces Round #306 (Div. 2)C. Divisibility by Eight--模拟
- Codeforces Round #306 (Div. 2) C.Divisibility by Eight
- 锁屏效果
- 高阶函数 Higher-order function
- [UVA400]Unix ls[格式输出]
- Java NIO原理图文分析及代码实现
- C# 之 string字符串
- Divisibility by Eight
- POJ 2752 Seek the Name, Seek the Fame(KMP)
- Unity退出后保存数据,PlayerPrefs 玩家偏好
- 第五天 类和对象
- B 类 对象 继承 多态与动态绑定
- Palindromes
- Android50道面试题
- 使用K-NN算法解析验证码
- ios学习笔记--(c基础5)