天天看點

藍橋杯_note_2016藍橋杯_2016

藍橋杯_2016

/*
生日蠟燭
某君從某年開始每年都舉辦一次生日party,并且每次都要吹熄與年齡相同根數的蠟燭。
現在算起來,他一共吹熄了236根蠟燭。
請問,他從多少歲開始過生日party的?
請填寫他開始過生日party的年齡數。
注意:你送出的應該是一個整數,不要填寫任何多餘的内容或說明性文字。
*/
#include<iostream>
#include<cstdio>
using namespace std;

int main()
{
    for(int i = ;i<;i++)
    {
        int numOfcande = ;
        for(int j = i;j<;j++)
        {
            numOfcande = numOfcande +j;
            if(numOfcande == )
            cout<<i;
        }
    }
    return ;
}
           
/*煤球數目
有一堆煤球,堆成三角棱錐形。具體:
第一層放1個,
第二層3個(排列成三角形),
第三層6個(排列成三角形),
第四層10個(排列成三角形),
....
如果一共有100層,共有多少個煤球?
請填表示煤球總數目的數字。
注意:你送出的應該是一個整數,不要填寫任何多餘的内容或說明性文字。
*/
#include<iostream>
using namespace std;
int main()
{
    int total = ;
    for(int i = ;i<=;i++)
    {
        int layer = ;
        for(int j = ;j<=i;j++)
        {
            layer = layer+j;
        }
        total = total + layer;  
    }
    cout<<total;
    return ;
}
           
/*
全排列算法——函數!
湊算式

     B      DEF
A + --- + ------- = 10
     C      GHI  
這個算式中A~I代表1~9的數字,不同的字母代表不同的數字。
比如:
6+8/3+952/714 就是一種解法,
5+3/1+972/486 是另一種解法。
這個算式一共有多少種解法?
注意:你送出應該是個整數,不要填寫任何多餘的内容或說明性文字。 
*/
#include<iostream>  
#include<algorithm>  
using namespace std;  
int main()  
{  
    int d[] = {,,,,,,,,}; 
    sort(d,d+);
    int ways = ; 
    do                             
    {  
        if(d[]+d[]*/d[]+(d[]*+d[]*+d[])*/(d[]*+d[]*+d[])==)
        ways++; 
    }while(next_permutation(d,d+));//全排列; 
    cout<<ways;
    return ;  
}