博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 872C Maximum splitting:数学【分解成合数之和】
阅读量:4602 次
发布时间:2019-06-09

本文共 801 字,大约阅读时间需要 2 分钟。

题目链接:

题意:

  给你一个数n,问你最多能将n分解成多少个合数之和。(若不能分解,输出-1)

 

题解:

  若要让合数个数最多,则n必定只由4,6,9组成。

  n由n/4和n%4两部分组成。

  四种情况:

    (1)n%4 == 0:

      全分成4就好了,所以ans = n/4

    (2)n%4 == 1:

      剩下的1要和两个4组合成一个9。

      所以如果n/4 >= 2,ans = n/4 - 1

      否则ans = -1

    (3)n%4 == 2:

      剩下的2要和一个4组合成一个6。

      所以如果n/4 >= 1,ans = n/4

      否则ans = -1

    (4)n%4 == 3:

      剩下的3 = 1 + 2。所以需要三个4,组成一个6和一个9。

      所以如果n/4 >= 3,ans = n/4 - 1

 

AC Code:

1 #include 
2 #include
3 #include
4 5 using namespace std; 6 7 int n,t; 8 9 int main()10 {11 cin>>t;12 while(t--)13 {14 cin>>n;15 if(n%4==0) cout<
=1) cout<
=2) cout<
=3) cout<

 

转载于:https://www.cnblogs.com/Leohh/p/7673781.html

你可能感兴趣的文章
POJ - 3683 Priest John's Busiest Day
查看>>
正则表达式start(),end(),group()方法
查看>>
vuejs 学习旅程一
查看>>
javascript Date
查看>>
linux常用命令2
查看>>
狼图腾
查看>>
13、对象与类
查看>>
Sublime Text3 个人使用心得
查看>>
jquery 编程的最佳实践
查看>>
MeetMe
查看>>
IP报文格式及各字段意义
查看>>
(转载)rabbitmq与springboot的安装与集成
查看>>
C2. Power Transmission (Hard Edition)(线段相交)
查看>>
STM32F0使用LL库实现SHT70通讯
查看>>
Atitit. Xss 漏洞的原理and应用xss木马
查看>>
MySQL源码 数据结构array
查看>>
(文件过多时)删除目录下全部文件
查看>>
T-SQL函数总结
查看>>
python 序列:列表
查看>>
web移动端
查看>>