上星期六做了nowcoder西北大学的程序设计竞赛,A题:1e9个兵临城下 https://ac.nowcoder.com/acm/contest/321/A

刚开始的思路是计数,碰到能整除的加一,直到累积到给定值为止

但是后来觉得好像步骤还是太多,而且重复的还要删除。。然后没思路了

结束之后看了题解,发现要用到容斥原理 查了下百度大概就是先计算出所有情况,然后把重复的删去(貌似跟我前面的思路差不多。。

 

这道题的话给定三个数,从1e9里面找出能被这三个整除的所有数然后删掉,我想来想去都是用循环算法啊,然后就觉得各种超时

看了代码我才发现!!!原来可以除的!!  u/a就能表示u中所有能被a整除的数的个数!

我可真是长见识了……

那么这道题就好做了。

后面还要注意的一点就是,要先减去每两个数的公倍数,再加上三个数的公倍数

然后我感觉都没问题了啊?还是WA了一次

原来是数据类型没对。。全都要用long long的。。

好啦  终于过啦   我感觉我的写题之路慢慢步入正轨了、

今后也要继续努力啊!

 

posted on 2018-12-27 21:55  Lyrix  阅读(120)  评论(0编辑  收藏  举报