Lập trình để đưa ra các số Armstrong trong đoạn bất kỳ. Có bao nhiêu số Armstrong trong đoạn ấy?

Lập trình để đưa ra các số Armstrong trong đoạn bất kỳ. Có bao nhiêu số Armstrong trong đoạn ấy?

0 bình luận về “Lập trình để đưa ra các số Armstrong trong đoạn <n1,n2> bất kỳ. Có bao nhiêu số Armstrong trong đoạn ấy?”

  1. Số ArmstrongMột số tự nhiên n chữ số được gọi là một số Armstrong nếu tổng các luỹ thừa bậc n các chữ số của nó bằng chính nó. ( Ví dụ: 153 = 1^3 + 5^3 + 3^3 –> 153 là số Armstrong). Lập trình để đưa ra các số Armstrong trong đoạn <n1,n2> bất kỳ. Có bao nhiêu số Armstrong trong đoạn ấy?
                                                                     Giải
    Var  a: array[1..50] of longint;
           n1,n2,i,j,n,g,h,k,tong,tich,dem: Longint;
    BEGIN
          Write( ‘ Nhap n1,n2: ‘); readln(n1,n2);
           Write(‘=> Cac so Armstrong trong doan ‘,n1,’–>’,n2,’ la: ‘);
           For j:= n1 to n2 do
               Begin
                   i:=0; n:=j;
                   Repeat
                       i:=i+1; a[i]:= n mod 10; n:= n div 10;
                   Until n= 0;
                   tong:=0;
                   For g:= 1 to i do
                       begin
                           tich:=1;
                           For h:= 1 to i do tich:=tich*a[g];
                           tong:=tong + tich;
                        end;
                   If j = tong Then begin write(j,’, ‘); dem:=dem+1; end;
              End;
       Writeln; Write(‘   So cac so Armstrong trong doan ‘,n1,’–>’,n2,’ la: ‘,dem);
       Readln;
    END.

    Bình luận
  2. Số ArmstrongMột số tự nhiên n chữ số được gọi là một số Armstrong nếu tổng các luỹ thừa bậc n các chữ số của nó bằng chính nó. ( Ví dụ: 153 = 1^3 + 5^3 + 3^3 –> 153 là số Armstrong). Lập trình để đưa ra các số Armstrong trong đoạn <n1,n2> bất kỳ. Có bao nhiêu số Armstrong trong đoạn ấy?
                                                                     Giải
    Var  a: array[1..50] of longint;
           n1,n2,i,j,n,g,h,k,tong,tich,dem: Longint;
    BEGIN
          Write( ‘ Nhap n1,n2: ‘); readln(n1,n2);
           Write(‘=> Cac so Armstrong trong doan ‘,n1,’–>’,n2,’ la: ‘);
           For j:= n1 to n2 do
               Begin
                   i:=0; n:=j;
                   Repeat
                       i:=i+1; a[i]:= n mod 10; n:= n div 10;
                   Until n= 0;
                   tong:=0;
                   For g:= 1 to i do
                       begin
                           tich:=1;
                           For h:= 1 to i do tich:=tich*a[g];
                           tong:=tong + tich;
                        end;
                   If j = tong Then begin write(j,’, ‘); dem:=dem+1; end;
              End;
       Writeln; Write(‘   So cac so Armstrong trong doan ‘,n1,’–>’,n2,’ la: ‘,dem);
       Readln;
    END.

    Bình luận

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