C++和python實(shí)現(xiàn)阿姆斯特朗數(shù)字查找實(shí)例代碼
1.題目解釋
如果一個(gè)n位正整數(shù)等于其各位數(shù)字的n次方之和,則稱該數(shù)為阿姆斯特朗數(shù)。 例如1^3 + 5^3 + 3^3 = 153。
1000以內(nèi)的阿姆斯特朗數(shù): 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407
2.判斷一個(gè)數(shù)是否為阿姆斯特朗數(shù)
1.先來(lái)一個(gè)簡(jiǎn)單的代碼,判斷一個(gè)數(shù)是否為阿姆斯特朗數(shù);
來(lái)看看C++寫(xiě)的
#include <iostream> using namespace std; int main() { int n, r, sum=0, temp; cout<<"Enter the Number= "; cin>>n; temp=n; while(n>0) { r=n%10; sum=sum+(r*r*r); n=n/10; } if(temp==sum) cout<<"Armstrong Number."<<endl; else cout<<"Not Armstrong Number."<<endl; return 0; }
運(yùn)行結(jié)果:
接下來(lái)看看Python
num = int(input("請(qǐng)輸入一個(gè)數(shù)字:")) sum= 0 n = len(str(num)) temp = num while temp >0: digit = temp %10 # 獲取個(gè)位數(shù)字 sum += digit**n # 對(duì)計(jì)算結(jié)果進(jìn)行累加 temp //= 10 if num == sum : print("太棒了!",num,"是阿姆斯特朗數(shù)") else: print("很遺憾!",num,"不是阿姆斯特朗數(shù)")
運(yùn)行結(jié)果:
2.寫(xiě)一個(gè)查找固定范圍內(nèi)的阿姆斯特朗數(shù)
python實(shí)現(xiàn):
lower = int(input("最小值:")) upper = int(input("最大值:")) print("下面是你想要從{}到{}之間的阿姆斯特朗數(shù)\n".format(lower,upper)) for num in range(lower,upper+1): sum = 0 n = len(str(num)) temp = num while temp >0: digit = temp %10 # 獲取個(gè)位數(shù)字 sum+= digit**n # 對(duì)計(jì)算結(jié)果進(jìn)行累加 temp //= 10 if num == sum: print(num)
運(yùn)行結(jié)果:
C++實(shí)現(xiàn):
#include <iostream> using namespace std; int test(int a,int b,int c,int d) { if(a)return a*a*a*a+b*b*b*b*b+c*c*c*c+d*d*d*d*d; if(b)return b*b*b+c*c*c+d*d*d; if(c)return c*c+d*d; if(d)return d; } void func(int min, int max) { if(min<=0||min>=max||max<0||max>9999) { cout << "error!" << endl; } int a,b,c,d; for(int i=min;i<=max;i++) { a = i/1000; b = (i%1000)/100; c = (i%100)/10; d = i%10; if(i==test(a,b,c,d)) cout << i << endl; } } int main() { int min,max; cin >> min; cin >> max; func(min,max); system("pause"); return 0; }
運(yùn)行結(jié)果展示:
C++太復(fù)雜了,就不能向python學(xué)學(xué),多友好的語(yǔ)言,學(xué)C++心態(tài)炸裂的第二天,如果有幫助到你點(diǎn)個(gè)關(guān)注唄!
到此這篇關(guān)于C++和python實(shí)現(xiàn)阿姆斯特朗數(shù)字查找的文章就介紹到這了,更多相關(guān)C++和python阿姆斯特朗數(shù)字查找內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 膠水語(yǔ)言Python與C/C++的相互調(diào)用的實(shí)現(xiàn)
- Python 調(diào)用C++封裝的進(jìn)一步探索交流
- Python與C/C++的相互調(diào)用案例
- 一文助你搞懂參數(shù)傳遞原理解析(java、go、python、c++)
- 詳解如何在VS2019和VScode中配置C++調(diào)用python接口
- python和C++共享內(nèi)存?zhèn)鬏攬D像的示例
- Python擴(kuò)展C/C++庫(kù)的方法(C轉(zhuǎn)換為Python)
- 解決c++調(diào)用python中文亂碼問(wèn)題
- Python3安裝模塊報(bào)錯(cuò)Microsoft Visual C++ 14.0 is required的解決方法
- C、C++、Java到Python,編程入門學(xué)習(xí)什么語(yǔ)言比較好
- 如何在C++中調(diào)用Python
相關(guān)文章
python ImageDraw類實(shí)現(xiàn)幾何圖形的繪制與文字的繪制
這篇文章主要介紹了python ImageDraw類實(shí)現(xiàn)幾何圖形的繪制與文字的繪制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02python數(shù)據(jù)可視化之日期折線圖畫(huà)法
這篇文章主要為大家詳細(xì)介紹了python數(shù)據(jù)可視化之日期折線圖畫(huà)法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04Django restframework 源碼分析之認(rèn)證詳解
這篇文章主要介紹了Django-restframework 源碼分析之認(rèn)證詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02PyQt5實(shí)現(xiàn)將Matplotlib圖像嵌入到Scoll Area中顯示滾動(dòng)條效果
我想知道是否有一種方法可以在matplotlib上顯示滾動(dòng)條(水平或垂直),顯示包含多個(gè)子槽(sublot2grid)的頁(yè)面(plt.show).下面就通過(guò)本文給大家分享PyQt5實(shí)現(xiàn)將Matplotlib圖像嵌入到Scoll Area中顯示滾動(dòng)條效果,對(duì)PyQt5 Matplotlib圖像嵌入相關(guān)知識(shí)感興趣的的朋友一起看看吧2021-05-05Python中導(dǎo)入csv數(shù)據(jù)文件的詳細(xì)示例教程
Python中的csv模塊是一種用于讀取和寫(xiě)入csv文件的模塊,csv可以用于將數(shù)據(jù)從文件或者其他來(lái)源導(dǎo)入到Python中進(jìn)行分析和處理,在這篇文章中,我們將全面介紹Python中如何導(dǎo)入csv文件,并將從多個(gè)方面進(jìn)行詳細(xì)探討,感興趣的朋友一起看看吧2024-03-03利用Python代碼實(shí)現(xiàn)數(shù)據(jù)可視化的5種方法詳解
在數(shù)據(jù)科學(xué)中,有多種工具可以進(jìn)行可視化。下面這篇文章主要給大家介紹了關(guān)于利用Python代碼實(shí)現(xiàn)數(shù)據(jù)可視化的5種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2018-03-03python matplotlib實(shí)現(xiàn)雙Y軸的實(shí)例
今天小編就為大家分享一篇python matplotlib實(shí)現(xiàn)雙Y軸的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02