上星期六做了nowcoder西北大学的程序设计竞赛,A题:1e9个兵临城下 https://ac.nowcoder.com/acm/contest/321/A
刚开始的思路是计数,碰到能整除的加一,直到累积到给定值为止
但是后来觉得好像步骤还是太多,而且重复的还要删除。。然后没思路了
结束之后看了题解,发现要用到容斥原理 查了下百度大概就是先计算出所有情况,然后把重复的删去(貌似跟我前面的思路差不多。。
这道题的话给定三个数,从1e9里面找出能被这三个整除的所有数然后删掉,我想来想去都是用循环算法啊,然后就觉得各种超时
看了代码我才发现!!!原来可以除的!! u/a就能表示u中所有能被a整除的数的个数!
我可真是长见识了……
那么这道题就好做了。
后面还要注意的一点就是,要先减去每两个数的公倍数,再加上三个数的公倍数
然后我感觉都没问题了啊?还是WA了一次
原来是数据类型没对。。全都要用long long的。。
好啦 终于过啦 我感觉我的写题之路慢慢步入正轨了、
今后也要继续努力啊!