1.煤球數目
有一堆煤球,堆成三角棱錐形。具體:
第一層放1個,
第二層3個(排列成三角形),
第三層6個(排列成三角形),
第四層10個(排列成三角形),
…
如果一共有100層,共有多少個煤球?
請填表示煤球總數目的數字。
注意:你提交的應該是一個整數,不要填寫任何多餘的內容或說明性文字。
思路
1 3 6 10 的規律是每層的煤球數量爲n(n+1)/2
然後把這一百層的煤球數量相加
用一個for循環
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
int sum=0;
for(int i=1;i<=100;i++)
sum+=(i+1)*i/2;
cout<<sum<<endl;
return 0;
}
//171700
2.生日蠟燭
某君從某年開始每年都舉辦一次生日party,並且每次都要吹熄與年齡相同根數的蠟燭。
現在算起來,他一共吹熄了236根蠟燭。
請問,他從多少歲開始過生日party的?
請填寫他開始過生日party的年齡數。
注意:你提交的應該是一個整數,不要填寫任何多餘的內容或說明性文字。
思路
i爲開始過生日的年齡,j爲現在的年齡
然後計算蠟燭總和如果等於236就輸出開始過生日的年齡
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
for(int i=1;i<=100;i++){
int sum=0;
for(int j=i;sum<=236;j++){
sum+=j;
if(sum==236){
cout<<i;
}
}
}
return 0;
}
//26
3.湊算式
B DEF
A + — + ------- = 10
C GHI
(如果顯示有問題,可以參見【圖1.jpg】)
這個算式中AI代表19的數字,不同的字母代表不同的數字。
比如:
6+8/3+952/714 就是一種解法,
5+3/1+972/486 是另一種解法。
這個算式一共有多少種解法?
注意:你提交應該是個整數,不要填寫任何多餘的內容或說明性文字。
next_permutation全排列函數
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[10]={0,1,2,3,4,5,6,7,8,9};
int sum=0;
while(next_permutation(a+1,a+10)){//產生1-9的全排列直到無法產生爲止
double ans=(double)a[1]+(double)a[2]/a[3]+(double)(a[4]*100+a[5]*10+a[6])/(double)(a[7]*100+a[8]*10+a[9]);
if(ans==10.0)
sum++;
}
cout<<sum;
return 0;
}
//29