寻找自幂数_(¦3」∠)_

本文介绍自幂数的概念,并提供了一个C++程序来求解n位数的自幂数。自幂数是指一个数的每一位数字的n次方之和等于它本身。程序通过循环遍历指定位数的所有数,计算每个数的各位n次方之和,当和等于原数时输出。程序适用于探究和理解自幂数的性质。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是自幂数?

在这里插入图片描述
在这里插入图片描述

如何求解n位数的自幂数呐?

1、求n位数的自幂数

#include <iostream>
#include <cmath>
using namespace std;
int main(){
	int n; //表示数的位数
	int start,end; //表示n位数的起始值和终止值
	int m; //待分解各位的数,即待判断的数
	int digit; //某个数位的值
	int sum; //各个位数n次方的和 
	int i; //循环变量,待检验的数 
	cout<<"Please input an integer:"<<endl; //给出提示信息 
	cin>>n; //输入位数 
	while(n > 0){
		start = pow(10,n-1); //n位数的起始值
		end = pow(10,n) - 1; //n位数的终止值
		cout<<n<<"位自幂数:" ;//输出说明信息
		for(i = start; i <= end; i++){ //从起始值到终止值逐个检查 
			m = i;
			//检验过程中m的值会改变,而i的值不变
			sum = 0; //各位数的n次方和 
			while(m != 0){
				digit =  m % 10; //取最低位数字
				sum = sum + pow(digit,n);
				m = m / 10;//更新m 
			} 
			if(sum == i){
			cout<<i<<" "; //显示该数 
			} 	
		} 
		cout<<endl;
		cout<<"求n位自幂数,请输入位数:";
		cin>>n;	
	}
	cout<<endl;
	return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值