Atcoder Grand Contest 022 B 题解

Atcoder Grand Contest 022 B

B题

题意

需要输出一个序列满足以下三个条件
* 序列中仅包含不相同的小于30000的数字
* 序列中一定存在两个互质元素(最大公因数为1)
* 序列中任何一个数A,与其余数的和B(sum(除去A之外的所有元素))一定不互质(最大公因数大于1)

笺释

当n为3时直接输出题目所给的2,5,63即可。
当n大于3时需要这样构造数列

for(int x=3;x+6<MAXM&&n>=4;x+=12,n-=2)
    {
        printf("%d %d ",x,x+6);
    }
    int x=2;
    for(;n>=3;x+=6,n-=3)
    {
        printf("%d %d %d ",x,x+2,x+4);
    }
    if(n==1)
    {
        printf("%d ",x+4);
    }
    else if(n==2)
    {
        printf("%d %d ",x,x+2);
}

当n大于等于5的奇数时,就一定会至少进入一次循环1和一次循环2,就一定会产生2个以上的6,在最终的集合中,不管拆走哪一项,剩下数字组成的和式中一定存在着至少一个6,也就是说和式一定可以表示成整数X+6的形式,也就一定能提供2或者3作为公因子
边界分为这么几种情况
* n在使用3 6 9 12…30000用完之前就达到了3,那么输出2 4 6结束
* n在使用完3 6 9之后,保留任意整数2k+1的形式,那么每次对其减3最终有可能等于3(输出一组x x+2 x+4)或者等于1,等于1的话,输出一个能提供6的数字(x+4)(至于为何x+4一定能提供一个6,归纳一下就很显然)

当n为大于等于4的偶数时,同样分两种情况
* 一种是在没用完之前n达到2,则输出x(2)和x+2(4),同样能够提供两个以上的6。**
* 用完之后,保留任意偶数2k的形式,每次对其减3,假设减了z次,结果为2k-3z,【(2k-3z)/2】=【k-(3z)/2】,因此z为偶数时所得结果为偶数,即2,z为奇数时所得奇数,即1。但不论是哪种情况,边界输出的结果也总能提供一个6。

而循环1至少输出一个3与循环2至少输出一个2则保证了条件2恒成立(2和3互质)

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值