2018蓝桥C++B:煤球数目;生日蜡烛

一、煤球数目:
有一堆煤球,堆成三棱锥型,具体:第一层放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; 
		}
	}
}

发布了107 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/gl620321/article/details/104599128