YOMEDIA
NONE

Các chữ số từ 0 đến 9 nếu một chữ số bất kỳ có một đường khép kín thì ta gọi chữ số đó có 1 lỗ hổng có hai đường khép kín thì ta gọi số đó có 2 lỗ hổng và không có đường khép kín nào thì ta gọi chữ số đó có 0 lỗ hổng vậy các chữ số 0 4 6 9 có 1 lỗ hổng chữ số 8 có 2 lỗ hổng và các chữ số 1 2 3 5 7 có 0 lỗ hổng cho một số nguyên dương N với 1 ≤ N ≤ 2147483647 ta luôn đếm được số lỗ hổng của các chữ số xuất hiện trong nó?

Các chữ số từ 0 đến 9, nếu một chữ số bất kỳ có một đường khép kín thì ta gọi chữ số đó có 1 lỗ hổng, có hai đường khép kín thì ta gọi số đó có 2 lỗ hổng, và không có đường khép kín nào thì ta gọi chữ số đó có 0 lỗ hổng. Vậy các chữ số 0, 4, 6, 9 có 1 lỗ hổng, chữ số 8 có 2 lỗ hổng và các chữ số 1, 2, 3, 5, 7 có 0 lỗ hổng.
Cho một số nguyên dương N (1 ≤ N ≤ 2147483647), ta luôn đếm được số lỗ hổng của các chữ số xuất hiện trong nó.
Ví dụ: Với N = 388247 thì ta đếm được N có 5 lỗ hổng.

Theo dõi Vi phạm
ADSENSE

Trả lời (2)

  • const
    fi='lhcs.inp';
    fo='lhcs.out';
    a:array[0..9] of byte=(1,0,0,0,1,0,1,0,2,1);
    var
    f:text;
    t,n:integer;
    procedure inp;
    begin
    assign(F,fi);
    reset(F);
    read(f,n);
    close(F);
    end;
    procedure out;
    begin
    assign(f,fo);
    rewrite(F);
    t:=0;
    while n<>0 do
    begin
    t:= t+a[n mod 10];
    n:= n div 10
    end;
    write(f,t);
    close(F);
    end;
    BEGIN
    INP;
    OUT;
    END.

      bởi Phương Thu 08/11/2018
    Like (0) Báo cáo sai phạm
  • YOMEDIA

    Video HD đặt và trả lời câu hỏi - Tích lũy điểm thưởng

  • program bai2;
    uses crt;
    var i,d,a,g,s:longint;
        n:int64;
    {---------------------------------}
    procedure nhap;
    begin
     repeat
      write('Nhap N= '); readln(n);
     until (n>=0) and (n<=2147483647);
    end;
    {----------------------------------}
    procedure xuli;
    begin
     s:=0;
     if n=0 then write('So lo hong la: 1')
      else
       begin
        while n<>0 do
         begin
          g:=n mod 10;
          n:=n div 10;
          if (g=0) or (g=4) or (g=6) or (g=9) then begin g:=1; s:=s+g; end;
           if (g=8) then begin g:=2; s:=s+g; end;
            if (g=1) or (g=2) or (g=3) or (g=5) or (g=7) then  g:=0;
         end;
         write('So lo hong la: ',s);
       end;
    end;
    {------------------------------------}
    BEGIN
     clrscr;
      nhap;
      xuli;
     readln;
    END.

      bởi I'M A HACKER 17/03/2019
    Like (0) Báo cáo sai phạm

Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!

Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản

Gửi câu trả lời Hủy
 
NONE

Các câu hỏi mới

AANETWORK
 

 

YOMEDIA
AANETWORK
OFF