Giúp mih với ạ: Câu 1: Tìm Số Cho một số nguyên dương , cộng tất cả các chữ số của ta được số . Nếu là số có một chữ số thì dừng lại, ngược lạ

Giúp mih với ạ:
Câu 1: Tìm Số
Cho một số nguyên dương , cộng tất cả các chữ số của ta được số . Nếu là số có một chữ số thì dừng lại, ngược lại tiếp tục cộng các chữ số của được số mới là , tiếp tục quá trình trên với số cho đến khi kết quả là số có một chữ số.
Ví dụ: = 123456; = 1 + 2 + 3 + 4 + 5 + 6 = 21; = 2 + 1 = 3; khi = 3 thì dừng
lại.
Yêu cầu: Cho số nguyên dương . Hãy tìm số có một chữ số của quá trình trên.
Dữ liệu vào: Từ file văn bản TIMSO.INP một dòng chứa số nguyên dương (số chữ số của ≤ 10 ).
Kết quả: Ghi vào file văn bản TIMSO.OUT một số tự nhiên là kết quả tìm được.
Ví dụ:

Ràng buộc:
• Có 50% số test ứng với 50% số điểm của bài có ≤ 10 ;
• Có 25% số test ứng với 25% số điểm của bài có số chữ số của ≤ 255;
• Có 25% số test còn lại ứng với 25% số điểm của bài có số chữ số của ≤ 10 .

0 bình luận về “Giúp mih với ạ: Câu 1: Tìm Số Cho một số nguyên dương , cộng tất cả các chữ số của ta được số . Nếu là số có một chữ số thì dừng lại, ngược lạ”

  1. uses crt;
    var n,d,max:longint;
    function tcs(n:longint):longint;
    var s:string; i,k:longint;
    begin
    str(n,s); tcs:=1;
    for i:=1 to length(s) do
    begin
    val(s[i],k);
    tcs:=tcs*k;
    end;
    end;
    function dob(n:longint):longint;
    begin dob:=0;
    while n>10 do
    begin
    n:=tcs(n);inc(dob);
    end;
    end;
    begin
    clrscr;
    write(‘n=’);readln(n);
    write(dob(n));
    readln

    end.

    Bình luận
  2. uses crt;
    var f:text; s:string; n,i,t,tong:longint;
    begin
    clrscr;
       assign(f,’TIMSO.INP’); reset(f);
          readln(f,s);
       close(f);
       assign(f,’TIMSO.OUT’); rewrite(f);
          val(s,n);
          while n<>0 do 
             begin
                inc(t,n mod 10);
                n:=n div 10;
             end;
          while t<>0 do 
             begin
                inc(tong,t mod 10);
                t:=t div 10;
             end;
          writeln(f,tong);
       close(f);
    readln
    end.

    Bình luận

Viết một bình luận