2769: 练39.1 书香阁座位

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:63 解决:21

题目描述

风之巅小学的书香阁有$312$个座位,已知第一排有$15$个座位,以后每排比上一排增加$2$个座位,最后一排有几个座位?一共有几排?
试编一程序算一算。

输入

无。

输出

对于倒数第二行,输出最后一排的座位数。
对于最后一行,输出排数。

样例输入 复制

样例输出 复制

最后一排的座位数:37
排数:12

提示

#include<iostream>
using namespace std;
int main()
{
    int sum,p,x;
    p=1;
    x=15;
    sum=x;
    do
    {
        p++;
        x+=2;
        sum+=x;
    }while(sum!=312);
    cout<<"最后一排的座位数:"<<x<<endl;//输出最后一排的座位数和排数
    cout<<"排数:"<<p<<endl;
    return 0;
}


#include<bits/stdc++.h>
using namespace std;

int main()
{
    int an,n;
    /***
	等差数列求和公式:Sn=n*a1+n*(n-1)*d/2
	等差数列通项公式:an=a1+(n-1)*d
	312=n*15+n*(n-1)*2/2
	n^2+14*n-312=0
	n=(-14+sqrt(14*14+312*4))/2=12
	an=15+(12-1)*2=37 
	***/ 
	n=int((-14+sqrt(14*14+312*4))/2);
	an=15+(n-1)*2;
    cout<<"最后一排的座位数:"<<an<<endl;//输出最后一排的座位数和排数
    cout<<"排数:"<<n<<endl;
    return 0;
}