C ++とpythonはアームストロング番号検索を実現します

1.タイトルの説明

n桁の正の整数が、その桁のn乗の合計に等しい場合、その数値はアームストロング数値と呼ばれます。たとえば、1 ^ 3 + 5 ^ 3 + 3 ^ 3 = 153です。
1000以内のアームストロング数:1、2、3、4、5、6、7、8、9、153、370、371、407

2.番号がアームストロング番号であるかどうかを判断します

1.まず、番号がアームストロング番号であるかどうかを判断するための簡単なコードが付属しています
。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;
}

動作結果:
ここに写真の説明を挿入

次にPythonを見てください

num = int(input("请输入一个数字:"))
sum= 0
n = len(str(num))
temp = num
while temp >0:
    digit = temp %10 # 获取个位数字
    sum += digit**n  # 对计算结果进行累加
    temp //= 10
if num == sum :
    print("太棒了!",num,"是阿姆斯特朗数")
else:
    print("很遗憾!",num,"不是阿姆斯特朗数")

動作結果:
ここに写真の説明を挿入

2.固定範囲のアームストロング番号の検索を記述します

Pythonの実装:

lower = int(input("最小值:"))
upper = int(input("最大值:"))
print("下面是你想要从{}到{}之间的阿姆斯特朗数\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 # 获取个位数字
        sum+= digit**n  # 对计算结果进行累加

        temp //= 10
    if num == sum:
        print(num)

実行結果:
ここに写真の説明を挿入
C ++実装:

#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;
}

実行結果は次のことを示しています
ここに写真の説明を挿入
。C++は複雑すぎてpythonから学ぶことができません。C++のメンタリティを習得してから2日後の、なんてフレンドリーな言語でしょうか。

おすすめ

転載: blog.csdn.net/qq_44176343/article/details/110744773