首页 > 其他 > 详细

CodeForces - 872C Maximum splitting 数论,思维

时间:2020-08-08 10:32:05      阅读:59      评论:0      收藏:0      [点我收藏+]

要求对一个数进行加法分解,问最多能分成多少个合数。

问最多的合数,那么结果必然是有 4, 6 , 9 组成

考虑 n % 4的情况即可。

主要是要想到其他合数都可以用4,6,9组成

int main() {
    int Q = readint();
    while (Q--) {
        ll n = readll();
        ll cnt = n / 4;
        ll m = n % 4;
        if (m == 1) if (cnt >= 2) cnt--; else cnt = -1;
        if (m == 2) if (cnt < 1) cnt = -1;
        if (m == 3) if(cnt >= 3) cnt--; else cnt = -1;
        if (cnt == -1) puts("-1");
        else {
            Put(cnt);
            puts("");
        }
    }
}

 

CodeForces - 872C Maximum splitting 数论,思维

原文:https://www.cnblogs.com/hznumqf/p/13456518.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!