Armstronq ədədləri o deməkdir ki,əgər ədədin rəqəmlərinin kubunun cəmi həmin ədədə bərabərdirsə onda bu ədəd armstronqdur.
Rəqəmlərinin k-cı qüvvətlərinin cəmi ədədin özünə bərabər olarsa, belə ədədə k-rəqəmli Armstronq ədədi deyilir. Məsələn, k = 3 üçün 153 Armstronq ədədidir, çünki 153 = 13 + 53 + 33.
Verilmiş k üçün bütün k-rəqəmli Armstronq ədədlərini tapın.
Giriş verilənlərinin formatı
Bir sətirdə k (2 < k < 10) ədədi verilir.
Çıxış verilənlərinin formatı
Hər biri ayrıca sətirdə olmaqla k-rəqəmli Armstronq ədədləri artma sırası ilə çıxışa verilir.
#include <iostream>
using
namespace
std;
int
main()
{
long
int
z=0, S=0,P=0,Q, RQ[10];
int
k,i,j;
cin>>k;
for
(i=1; i<=9; i++)
RQ[i]=1;
RQ[0]=0;
for
(i=2; i<=9; i++)
for
(j=0; j<k; j++)
RQ[i]*=i;
for
(i=0; i<k; i++)
S=S*10+9;
z=(S+1)/10;
for
(i=z; i<=S; i++)
{P=i; Q=0;
while
(P>0)
{j=P%10;
Q+=RQ[j];
P/=10;}
if
(i==Q)
cout<<Q<<endl;
}
return
0;
}
Hiç yorum yok:
Yorum Gönder