Thứ Hai, 15 tháng 7, 2019

COUNTCBG COUNT N

Với 1 số tự nhiên N(1 ≤ N ≤ 109) ta có thể phân tích nó thành tổng của một số số tự nhiên liên tiếp (tất nhiên những số này phải nhỏ hơn N). Ví dụ với N = 5 ta có duy nhất 1 cách phân tích là 5 = 2+3. Bài toán đặt ra là cho số tự nhiên N, hãy cho biết có bao nhiêu cách phân tích số tự nhiên N thành tổng của các số tự nhiên liên tiếp.
Input: Gồm nhiều dòng, mỗi dòng chứa một số nguyên N. (Giới hạn : số dòng ≤ 100)
Output: Mỗi dòng ghi một số nguyên là số cách phân tích số N đọc được ở dòng tương ứng trong input.
Input Output
12            1
5
4
13
45
100
234
3
175
1
0
1
5
2
5
1
5

3 nhận xét:

  1. Uses crt;
    Var n,i,t,tong,dem:longint;
    Begin
    readln(n);
    i:=1;
    t:=1;
    tong:=0;
    Repeat
    If tong=n then Begin tong:=tong-t; tong:=tong+i; i:=i+1; t:=t+1; end;
    While tongn do Begin tong:=tong-t; t:=t+1; end;
    If (tong=n)and((i-t)>1) then dem:=dem+1;
    Until i>=n;
    Write(dem);
    readln;
    end.

    Trả lờiXóa
  2. user crt;
    var d,n,i:integer;
    a:array{1..100] of integer;
    begin
    clrscr;
    for i:=1 to n do readln(a[i]);
    for i:=1 to n do
    if a[i] mod 2 <>0 {cos thể là '[(a[i] +1) or (a[1]-1)] mod 2 =0'} then d:=d+1'
    write(d);
    readln;
    end.
    SAI THÌ BẢO MIK NHÉ .TKS

    Trả lờiXóa

Dùng nick gmail để bình luận. Nếu lần đầu tiên bạn làm điều này thì hệ thống sẽ chuyển bạn sang trang blogger và hỏi bạn chọn tên hiển thị là gì. Bạn hãy nhập tên hiển thị rồi ok là được. Những lần bình luận sau hệ thống sẽ không hỏi nữa. Cảm ơn!

Bài được xem nhiều nhất