人民币的构造 数论
Source
第七届ACM趣味程序设计竞赛第三场(正式赛)C
My Solution
tem+sum是当前的最大可以构出的值。
否则tem=sum;tem=2*(tem+sum)+1;新的最大值是tem+sum
1,3,9开始找规律1只能1,1、3可以构出1、2、3、4,9可以构到13.这之前试过了给出的1、2、7好坑,又试1、3、8终于明白要这三个数的和尽可能的
大才行。本来以为是从第4项开始才有这个规律。错了两次才想到1、3、9直接从第一项就开始满足这个规律了。sumofall*2+1
#include
#include
using namespace std;
int main()
{
int n,sum=13,cot=3,tem=0;
scanf("%d",&n);
while(tem+sum<n){
sum+=tem;
tem=sum;//cout<<tem<<endl;
sum=2*tem+1;//cout<<sum<<endl;
cot++;
}
if(n==1) printf("1");
else if(n<=4) printf("2");
else if(n<=13) printf("3");
else printf("%d",cot);
return 0;
}
非特殊说明,本站所有文章均为博主原创,未经许可不得转载。
https://www.prolightsfxjh.com/
Thank you!
------from ProLightsfx
- THE END -
最后修改:2024年11月16日
非特殊说明,本博所有文章均为博主原创,未经许可不得转载。
如经许可后转载,请注明出处:https://prolightsfxjh.com/article/uestc-1264/
共有 0 条评论