、用键盘输入整数S,然后计算1+2+3+…+N的和,在和未超过S(包括相等)的情况下,最大的N是多少?例如S=7,则1+2+3<7,1+2+3+4>7,则最大的N为3。
输入输出格式与样例:
输入:7
输出:3
用键盘输入整数S,然后计算1+2+3+…+N的和,在和未超过S(包括相等)的情况下,最大的N是多少?用pascal编程
答案:5 悬赏:30 手机版
解决时间 2021-03-15 06:13
- 提问者网友:太高姿态
- 2021-03-14 06:05
最佳答案
- 五星知识达人网友:山河有幸埋战骨
- 2021-03-14 07:42
var
s,n,sum:longint;
begin
readln(s);
n:=1;
sum:=0;
while sum<=s do
begin
sum:=sum+n;
n:=n+1;
end;
n=n-2;
writeln(n);
end.
s,n,sum:longint;
begin
readln(s);
n:=1;
sum:=0;
while sum<=s do
begin
sum:=sum+n;
n:=n+1;
end;
n=n-2;
writeln(n);
end.
全部回答
- 1楼网友:千杯敬自由
- 2021-03-14 10:36
var
s,n:longin;
begin
readln(n);s:=0;
for i:=1 to 10000000000 do
begin
s:=s+i;
if s>n then begin writeln(i);break;
end;
end.
- 2楼网友:执傲
- 2021-03-14 09:42
请问要的是n的值么?
如果是的话:
var s,i:integer; //先按小数据算
begin
readln(s);
i:=1;
repeat
if s-i>=0 then begin s:=s-i; inc(i); end //用做差可以代替累加
else break; //下方是死循环,该处是唯一出口
until 1=2;
writeln(i-1);
end.
- 3楼网友:舊物识亽
- 2021-03-14 09:34
最简单的程序,vc6通过调试运行
#include
void main()
{
int n,i,s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
s+=i;
printf("s=%d",s);
}
- 4楼网友:等灯
- 2021-03-14 08:23
pascal早忘记了,给个C语言的供参考一下思路。
#include
int main()
{
int s, sum=0, i=0;
scanf("%d", &s);
while(sum<=s) sum+=++i;
printf("%d", i-1);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯