CF#306-C - Divisibility by Eight-数学+暴力
来源:互联网 发布:隔音玻璃效果好吗 知乎 编辑:程序博客网 时间:2024/05/16 19:26
给出n位数,最多100
要求你随意去掉其中几个数 (可以完全不去掉)
然后如果剩下的数字组成的数能被8整除,输出YES和那个数,否则输出NO
分情况
不超过3位的直接暴力
超过三位的 根据
如果一个数的末三位数能被8整除,那么,这个数就一定能被8整除
还有种情况是最后剩下2位数。。。暴力两层for (这样最后只留下2位数)
注意判断前导零的情况。要就是最后留下三位或者两位 但不能有前导零
#include <cstdio>#include <cmath>#include <cstring>#include <string>#include <algorithm>#include <iostream>#include <queue>#include <map>#include <set>#include <vector>using namespace std;#define inf 1e9+1char tm[105];int sb[105];int main(){ int i,j,k; scanf("%s",tm+1); int n=strlen(tm+1); int flag=0; int flag2=0; for (i=1;i<=n;i++) { sb[i]=tm[i]-'0'; if (sb[i]==8 ) flag=1; if (sb[i]==0 ) flag2=1; } if (flag) { printf("YES\n8\n"); return 0; } if (flag2) { printf("YES\n0\n"); return 0; } if (n<3) { if (n==1) { if (sb[1]==8||sb[1]==0 ) printf("YES\n%d\n",sb[1]); else printf("NO\n"); } else { if (sb[1]==8||sb[2]==8||(sb[1]*10+sb[2])%8==0||sb[2]==0) { if (sb[2]==0) printf("YES\n0\n"); else if (sb[1]==8||sb[2]==8) printf("YES\n8\n"); else if ( (sb[1]*10+sb[2])%8==0) printf("YES\n%d%d\n",sb[1],sb[2]); } else printf("NO\n"); } return 0; } for (i=1;i<=n;i++) { for (j=i+1;j<=n;j++) { for (k=j+1;k<=n;k++) { if ((sb[i]*100+sb[j]*10+sb[k]*1)%8==0&&sb[i]!=0) { printf("YES\n"); printf("%d%d%d\n",sb[i],sb[j],sb[k]); return 0; } } } } for (i=1;i<=n;i++) { for (j=i+1;j<=n;j++) { if ((sb[i]*10+sb[j]*1)%8==0&&sb[i]!=0) { printf("YES\n"); printf("%d%d\n",sb[i],sb[j]); return 0; } } } printf("NO\n"); return 0; }
0 0
- CF#306-C - Divisibility by Eight-数学+暴力
- CF C. Divisibility by Eight
- cf 550c Divisibility by Eight 【规律】
- C. Divisibility by Eight
- [CodeForces550C]Divisibility by Eight[数学]
- CodeForces 550C Divisibility by Eight (规律,暴力)
- codeforces 550C Divisibility by Eight (暴力)
- CodeForces 550C Divisibility by Eight 数学 枚举
- Codeforces Round #306 (Div. 2)C. Divisibility by Eight--模拟
- Codeforces Round #306 (Div. 2) C.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
- Codeforces 550C Divisibility by Eight【数学思维题】好题!
- yii学习笔记,目录基本组成
- HDMI转LVDS,HDMI转RGB,MHL转RGB,MHL转LVDS,HDMI接收端,MHL接收端,LT8619B业界最新产品
- CF#306- A - Two Substrings-水题
- cf#306-B. Preparing Olympiad-bitmask暴力
- 苹果电脑充电发热启不了机怎么办?
- CF#306-C - Divisibility by Eight-数学+暴力
- 收起键盘的四种方法
- 继承
- 类
- 重载
- hdu 3460 Ancient Printer trie字典树
- 新手学python--字典
- C#中泛型集合List<T>反序列化问题及解决方法
- LT8619B,HDMI转RGB,HDMI转LVDS,MHL转RGB,MHL转LVDS