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ó?

bởi Anh Trần 08/11/2018

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.

Câu 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
  • 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!

Mời gia nhập Biệt đội Ninja247

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

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

Các câu hỏi có liên quan