问题标题: 酷町堂:3947

0
0
已解决
武明轩
武明轩
新手光能
新手光能

题目描述 Description

有n(100<=n<=200)人要排队,规定第一排站10人,第二排站12人,第三排站14人,……,后一排比前一排多2人,最后一排可能站不满,求最后一排站多少人。

输入描述 Input Description

一个正整数n,表示排队人数。

输出描述 Output Description

一个正整数,表示最后一排的人数。


0
已采纳
周明轩
周明轩
资深光能
资深光能

思路如下:

定义一个累加量x。

while循环,每循环一次x就加2,再让n-x。直到n<x时,输出n。

注:那个小黑点是我的鼠标皮肤。

望采纳,谢谢

1
0
叶宝锴
叶宝锴
新手光能
新手光能

叶宝锴的提交:

 
  • #include<iostream>
  • #include<cstdio>
  • #include<cmath>
  • using namespace std;
  • int main() {
  • int sum; //总人数(n)。
  • int a; //最后一排的人数。
  • int i=10;
  • cin>>sum;
  • while(sum>i){
  • sum-=i;
  • i+=2;
  • if(sum<=i){
  • break;
  • }
  • }
  • cout<<sum;
  • return 0;
  • }
  • 望采纳,谢谢谢谢!!!
0
朱小川
朱小川
缔造者
缔造者

while(1){ if(b+a>=n){ break; } b+=a; a+=2; } cout<<n-b;

核心

0
0
李沫朴
李沫朴
新手天翼
新手天翼
  •  int n,i=10,s; int main(){ cin>>n; while(s+i<n){ s+=i; i+=2; } cout<<n-s; return 0; }
我要回答