Viết chương trình nhập vào một số nguyên x. Hãy xác định xem x có phải tổng của các số tự nhiên liên tiếp bắt đầu từ 1 hay không? Input: Một số nguyên dương x Output: In ra YES/NO Ví dụ Input Output 10 YES 14 NO

2 câu trả lời

uses crt;
var x,n:longint;
begin
    clrscr;
    readln(x);
    n:=trunc(sqrt(2*x));
    while n*(n+1)/2 < x do inc(n);
    if n*(n+1)/2 = x then writeln('YES')
    else writeln('NO');
readln;
end.

program bai_giai;
uses crt;
var x,n,t:longint;
begin
    clrscr;
    readln(x);
    t:=0; n:=0;
    while t<x do
        begin
            n:=n+1;
            t:=t+n;
        end;
    if t=x then write('YES') else write('NO');
    readln;
end.

Câu hỏi trong lớp Xem thêm