armstrong
unknown
c_cpp
3 years ago
977 B
7
Indexable
#include<iostream> #include<cmath> using namespace std; int main(){ int n,m; cin >> n >> m; int W, w;// 4)在這裡先宣告變數W, w,先不急著定義初始值,等等在while迴圈裡會做 int x=n; // int sum=0; // int i=0; while(x<m){ // 5) x代表現在要檢查的數字,定義W, w為x W = x; w = x; // 6) 跟4)相比,這裡在裡面宣告變數i。在迴圈內外宣告都可以,因為每一輪會重新計算 int i = 0; // 7)位數每次要重新計算,所以在此歸零 while(W>0){ // 1) 如果維持W>=10,以n=150為例,最後算出來i = 2 int y=W/10; int z=W-10*y; W=y; i++; } int sum = 0;// 8) sum每次也要重新計算,所以在此歸零 int y, z, c; while(w>0){ // 2) 與1)同理 y=w/10; z=w-10*y; c=pow(z,i); sum=sum+c; w=y; } if(sum==x) cout << x << " "; // 3) W和w在前面兩個while迴圈已經被扣得差不多了,++後下一輪會是錯的 // W++; // w++; x++; } return 0; }
Editor is loading...