10 Şubat 2016 Çarşamba

Armstronq ədədləri

Armstronq
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