#include<iostream>
using namespace std;
int s(int n);
inline int lf(int n){ return n*n*n; }
int main(){
int m, n;
cin >> m >> n;
int count = 0;
int *p = new int[4];//如果不指定動態數組的大小,在delete時會出現觸發斷點的錯誤,這與new delete工作的原理有關
for (int i = m; i<=n; i++){
if (s(i) == i){
p[count] = i;
count++;
}
}
if (count == 0)
cout << "no" << endl;
for (int i = 0; i < count - 1; i++)
cout << p[i] << " ";
cout << p[count - 1];
delete[]p;
system("pause");
return 0;
}
int s(int n){
int s1 = -1;
if (n<100 || n>999)
return s1 ;
int g = n % 10;
int s = n / 10 % 10;
int b = n / 100;
s1 = lf(g) + lf(s) + lf(b);
return s1;
}
利用動態數組輸入100~999內的水仙數數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.