洛谷入门3-循环结构:金币、最长连号

一、金币

 解题:

# include<iostream>

using namespace std;

int main()
{
    int k,sum=0,n=1;//发放金币的天数、拿到的金币数、发放n金币的天数n
    cin>>k;
    //先找出n
    while(n*(n+1)/2<k)
    {
        n++;            
    }
    n-=1;           //跳出循环时,n*(n+1)/2>=k
    for(int i=1;i<=n;i++)
    {
        sum+=i*i;
    }
    cout<<sum+(k-n*(n+1)/2)*(n+1);
    return 0;
}

二、最长连号

 

 解题:

# include<iostream>

using namespace std;

int main()
{
    int n,count=1,max=1;//n个数、连号的数、最大连号数
    long long num,b;//输入的整数、用于比较
    cin>>n;
    cin>>num;
    b=num;          // b等于输入的数
    for(int i=0;i<n-1;i++)
    {
        cin>>num;
        if(num==b+1)
            count++;
        else
            count=1;
        if(count>max) 
            max=count;
        b=num;
    }
    cout<<max;
    return 0;
}
原文地址:https://www.cnblogs.com/Hfolsvh/p/13663931.html