COUNTCBG - COUNT N

Tác giả: khuc_tuan

Ngôn ngữ: Pascal

// {$APPTYPE CONSOLE}
 {$mode delphi}
 { input bai nay sai format, de nghi sua lai }

var
    i, r, dem, k, n : integer;
    s : array[0..100] of char;

begin
    while not eof do
    begin
        readln(s);
        n := 0;
        for i:=0 to 100 do
        begin
            if (s[i] < '0') or (s[i] > '9') then
            begin
                break;
            end;
            n := n * 10 + ord(s[i]) - 48;
        end;

        dem := 0;
        for k:=2 to n do
        begin
            if k * k - k >= 2 * n then break;
            r := 2 * n - k * k + k;
            if r mod (2*k) = 0 then
            begin
                inc(dem);
                // writeln(k, #32, r div (2*k));
            end;
        end;
        writeln(dem);
    end;
end.

Download