CodeForces 550C Divisibility by Eight(枚举)

来源:互联网 发布:中国数据统计局 编辑:程序博客网 时间:2024/05/17 21:52

题目链接】click here~~

题目大意

给一个不超过100位的数字,要求能否删掉几位数,剩下的数能被8整除

解题思路】:这里有个性质:如果一个数后三位能被8整除,那么这个数就能被8整除

证明:举一个5位数的例子吧,
例如
_____  _____  __              __  __                __  ___
abcde=ab000+cde=1000×ab+cde=8×125×ab+cde
很明显,8×125×ab一定是8或者125的倍数,因此当cde能被8或者125整除时,五位数abcde就能被8或者125整除。位数再多也是一样的,主要是1000=125*8

那么只要枚举后三位即可

代码:

#include <bits/stdc++.h>using namespace std;int main(){    char str[110];    while(cin>>str)    {        bool ok=false;        int len=strlen(str);        for(int i=0; i<len; ++i)        {            if((str[i]-'0')%8==0)            {                puts("YES");                cout<<(str[i]-'0')<<endl;                return 0;            }        }        for(int i=0; i<len; ++i)        {            for(int j=i+1; j<len; ++j)            {                if(((str[i]-'0')*10+(str[j]-'0'))%8==0)                {                    puts("YES");                    cout<<((str[i]-'0')*10+(str[j]-'0'))<<endl;                    return 0;                }            }        }        for(int i=0; i<len; ++i)        {            for(int j=i+1; j<len; ++j)            {                for(int k=j+1; k<len; ++k)                {                    if(((str[i]-'0')*100+(str[j]-'0')*10+str[k]-'0')%8==0)                    {                        puts("YES");                        cout<<((str[i]-'0')*100+(str[j]-'0')*10+str[k]-'0')<<endl;                        return 0;                    }                }            }        }        puts("NO");    }}
官方题解是用dp,麻烦一些。

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小腿长疙瘩很痒怎么办 腿过敏起红疙瘩怎么办 肚子上起红疙瘩很痒怎么办 小蚂蚁咬了肿了怎么办 锦鲤鱼尾巴烂了怎么办 泰迪身上长白毛怎么办 鱼身上有红斑了怎么办 新买锦鲤不吃食怎么办 鱼身上有红血丝怎么办 大腿内侧有红色条纹怎么办 腿上出现红血丝怎么办 孕妇有脚气,很痒怎么办 孕晚期脚气很痒怎么办 孕期有脚气很痒怎么办 激光后留下色沉怎么办 腋下很黑怎么办怎样才能变白 屁股上长一块癣怎么办 鼻两侧一热发红怎么办 脸上起皮发红痒怎么办 自癜风发红发痒怎么办 脸又干又痒怎么办 脸发红还有点痛怎么办 脸过敏了红痒怎么办 脸两边一片红痒怎么办 婴儿大腿内侧破皮怎么办 宝宝大腿根淹了怎么办 大腿一走路就疼怎么办 下面痒怎么办用什么洗 长藓怎么办用什么药膏 小腿长湿疹很痒怎么办 产后排不出大便怎么办 3岁宝宝大便不通怎么办 腿上干燥像鱼鳞怎么办 一岁脸上长癣怎么办 脖子长了一片癣怎么办 深圳摇到车牌后怎么办 发现车被套牌了怎么办 我车牌被套牌了怎么办 车子被别人套牌怎么办 车被别人套牌了怎么办 被套牌了有违章怎么办