UESTC 1264 人民币的构造 数论

ProLightsfx 2015-12-12 145 12/12

人民币的构造 数论

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 -
Tag:

ProLightsfx

11月16日08:47

最后修改:2024年11月16日
0

非特殊说明,本博所有文章均为博主原创,未经许可不得转载。

共有 0 条评论