一、煤球数目:
有一堆煤球,堆成三棱锥型,具体:第一层放1个,第二层放3个(排成三角形),第三层放6个(排成三角形)·,第四层放10个(排成三角形)…如果有100层,共有多少个煤球?直接写出数字
1
3
6
10
15
代码:
#include<iostream>
using namespace std;
int main(){
int pre=1;
int plus=2;
long sum=1;
for(int j=2;j<101;j++){
sum+=(pre+plus);
pre=pre+plus;
plus++;
}
cout<<"sum"<<sum<<endl;
}
二、生日蜡烛
某君从某年开始都举办一次生日Party,并且每次都要吹熄与年龄相同根数的蜡烛,现在算起来他一共吹熄了236根蜡烛,请问他从多少岁开始过生日party的?直接写出数字
设改君从 i 岁开始过生日到 j 岁截止,
符合等差数列,Sn=na1+n(n-1)d/2,n为正整数
Sn=n(a1+an)/2.
思路一:枚举两个年龄
#include<iostream>
using namespace std;
int main(){
for(int i=1;i<100;i++){
for(int j=i;j<100;j++){
if((i+j)*(j-i+1)/2==236)
cout<<i<<" "<<j<<endl;
}
}
}
思路二:枚举生日举办次数
#include<iostream>
using namespace std;
int main(){
for(int i=1;i<100;i++){
int t=i*(i-1)/2;
if((236-t)/i==0){
//输出首项
cout<<(236-t)/i<<" "<<i<<endl;
}
}
}