1.煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
....
如果一共有100层,共有多少个煤球?请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
答案:171700
代码实现:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a=0,i,sum=0;
for(i=1;i<=100;i++)
{
a+=i;
sum+=a;
}
cout<<sum;
return 0;
}
2.生日蜡烛
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
答案:26
代码实现:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,j,k;
for(i=1;;i++)
{
for(j=i,k=0;;j++){
k+=j;
if(k>=236)
break;
}
if(k==236){
cout << i << endl;
break;
}
}
return 0;
}
3.凑算式
B DEF
A + --- + ------- = 10
C GHI
(如果显示有问题,可以参见【图1.jpg】)
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?
注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。
答案:29
代码实现:
#include<bits/stdc++.h>
using namespace std;
int main()
{
double a,b,c,d,e,f,g,h,i;
int ans=0;
for(a=1;a<=9;a++)
for(b=1;b<=9;b++)
{
if(b==a) continue;
for(c=1;c<=9;c++)
{
if(c==a||c==b||a+b/c>=10) continue;
for(d=1;d<=9;d++)
{
if(d==a||d==b||d==c) continue;
for(int e=1;e<=9;e++)
{
if(e==b||e==a||e==c||e==d) continue;
for(int f=1;f<=9;f++)
{
if(f==a||f==b||f==c||f==d||f==e) continue;
for(int g=1;g<=9;g++)
{
if(g==a||g==b||g==c||g==d||g==e||g==f) continue;
for(int h=1;h<=9;h++)
{
if(h==a||h==b||h==c||h==d||h==e||h==f||h==g) continue;
int i=45-a-b-c-d-e-f-g-h;
if(i==a||i==b||i==c||i==d||i==e||i==f||i==g||i==h) continue;
if((a+b/c+(d*100+e*10+f)/(g*100+h*10+i))==10.0)
ans++;
}
}
}
}