
玫瑰花數(shù),又稱水仙花數(shù),是指一個三位數(shù)各個位上數(shù)字的立方和等于該數(shù)本身的數(shù)。
例如153就是一個玫瑰花數(shù),因為13+53+33=153。
接下來我們將用C++語言編寫一個程序來判斷一個三位數(shù)是否為玫瑰花數(shù)。
首先,我們需要對每個三位數(shù)進行拆分。通過除以100可以得到百位上的數(shù)字;通過取模運算可以得到十位和個位上的數(shù)字。代碼如下:
int i = 100; //從100開始循環(huán)
while(i<=999){
int a = i/100; //百位上的數(shù)字 int b = (i%100)/10; //十位上的數(shù)字 int c = i%10; //個位上的數(shù)字}
接下來,我們需要計算這三個數(shù)字的立方和。這里采用了pow()函數(shù)來進行冪運算,并使用變量sum保存結(jié)果。代碼如下:
int sum = pow(a,3)+pow(b,3)+pow(c,3);
最后,我們只需判斷sum是否等于原始數(shù)字i即可得出結(jié)論。如果相等,則說明i是一個玫瑰花數(shù)。
if(sum==i){
cout<}
完整代碼如下:
#include #include using namespace std;
int main(){
int i = 100; //從100開始循環(huán) while(i<=999){ int a = i/100; //百位上的數(shù)字 int b = (i%100)/10; //十位上的數(shù)字 int c = i%10; //個位上的數(shù)字 int sum = pow(a,3)+pow(b,3)+pow(c,3); //立方和 if(sum==i){ //判斷是否為玫瑰花數(shù) cout<}
通過以上代碼,我們可以得到所有的三位玫瑰花數(shù)。
在實際應(yīng)用中,我們可以將以上程序封裝成一個函數(shù)來進行調(diào)用。同時,也可以根據(jù)需要對程序進行優(yōu)化以提高效率。
總之,C++語言是一門強大的編程語言,在日常工作和學(xué)習(xí)中都有重要的應(yīng)用價值。通過不斷學(xué)習(xí)和實踐,我們可以更好地掌握它,并在實際項目中發(fā)揮出更大的作用。
標(biāo)簽: