C++和python實現(xiàn)阿姆斯特朗數(shù)字查找實例代碼
1.題目解釋
如果一個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.判斷一個數(shù)是否為阿姆斯特朗數(shù)
1.先來一個簡單的代碼,判斷一個數(shù)是否為阿姆斯特朗數(shù);
來看看C++寫的
#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;
}
運行結(jié)果:

接下來看看Python
num = int(input("請輸入一個數(shù)字:"))
sum= 0
n = len(str(num))
temp = num
while temp >0:
digit = temp %10 # 獲取個位數(shù)字
sum += digit**n # 對計算結(jié)果進(jìn)行累加
temp //= 10
if num == sum :
print("太棒了!",num,"是阿姆斯特朗數(shù)")
else:
print("很遺憾!",num,"不是阿姆斯特朗數(shù)")
運行結(jié)果:

2.寫一個查找固定范圍內(nèi)的阿姆斯特朗數(shù)
python實現(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 # 獲取個位數(shù)字
sum+= digit**n # 對計算結(jié)果進(jìn)行累加
temp //= 10
if num == sum:
print(num)
運行結(jié)果:

C++實現(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;
}
運行結(jié)果展示:

C++太復(fù)雜了,就不能向python學(xué)學(xué),多友好的語言,學(xué)C++心態(tài)炸裂的第二天,如果有幫助到你點個關(guān)注唄!
到此這篇關(guān)于C++和python實現(xiàn)阿姆斯特朗數(shù)字查找的文章就介紹到這了,更多相關(guān)C++和python阿姆斯特朗數(shù)字查找內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 膠水語言Python與C/C++的相互調(diào)用的實現(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++庫的方法(C轉(zhuǎn)換為Python)
- 解決c++調(diào)用python中文亂碼問題
- Python3安裝模塊報錯Microsoft Visual C++ 14.0 is required的解決方法
- C、C++、Java到Python,編程入門學(xué)習(xí)什么語言比較好
- 如何在C++中調(diào)用Python
相關(guān)文章
python ImageDraw類實現(xiàn)幾何圖形的繪制與文字的繪制
這篇文章主要介紹了python ImageDraw類實現(xiàn)幾何圖形的繪制與文字的繪制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
Django restframework 源碼分析之認(rèn)證詳解
這篇文章主要介紹了Django-restframework 源碼分析之認(rèn)證詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02
PyQt5實現(xiàn)將Matplotlib圖像嵌入到Scoll Area中顯示滾動條效果
我想知道是否有一種方法可以在matplotlib上顯示滾動條(水平或垂直),顯示包含多個子槽(sublot2grid)的頁面(plt.show).下面就通過本文給大家分享PyQt5實現(xiàn)將Matplotlib圖像嵌入到Scoll Area中顯示滾動條效果,對PyQt5 Matplotlib圖像嵌入相關(guān)知識感興趣的的朋友一起看看吧2021-05-05
Python中導(dǎo)入csv數(shù)據(jù)文件的詳細(xì)示例教程
Python中的csv模塊是一種用于讀取和寫入csv文件的模塊,csv可以用于將數(shù)據(jù)從文件或者其他來源導(dǎo)入到Python中進(jìn)行分析和處理,在這篇文章中,我們將全面介紹Python中如何導(dǎo)入csv文件,并將從多個方面進(jìn)行詳細(xì)探討,感興趣的朋友一起看看吧2024-03-03
利用Python代碼實現(xiàn)數(shù)據(jù)可視化的5種方法詳解
在數(shù)據(jù)科學(xué)中,有多種工具可以進(jìn)行可視化。下面這篇文章主要給大家介紹了關(guān)于利用Python代碼實現(xiàn)數(shù)據(jù)可視化的5種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2018-03-03
python matplotlib實現(xiàn)雙Y軸的實例
今天小編就為大家分享一篇python matplotlib實現(xiàn)雙Y軸的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02

