IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 寻找那些神奇的自幂数---C语言 -> 正文阅读

[C++知识库]寻找那些神奇的自幂数---C语言

1. 什么是自幂数 ?

2.?各种自幂数的美妙名称

3. 代码实现自幂数的寻找(详解)

1.什么是自幂数 ?

如果在一个固定的进制中,一个n位自然数等于自身各个数位上数字的n次幂之和,则称此数为自幂数。

例如:在十进制中,153是一个三位数,各个数位的3次幂之和为1^3+5^3+3^3=153,所以153是十进制中的自幂数。

2. 各种自幂数的美妙名称

一位自幂数:独身数

两位自幂数:没有

三位自幂数:水仙花数

四位自幂数:四叶玫瑰数

五位自幂数:五角星数

六位自幂数:六合数

七位自幂数:北斗七星数

八位自幂数:八仙数

九位自幂数:九九重阳数

十位自幂数:十全十美数?

3. 代码实现自幂数的寻找

根据自幂数的定义,一个n位自然数等于自身各个数位上数字的n次幂之和的数是自幂数。

1. 首先我们需要确定一个自然数的位数,参考代码:

这里我们利用函数来计算一个自然数的位次:


int count(int tmp)
{
	int cnt = 1;
	while (tmp /= 10)//每次除 10 取整为真就向前进一位
	{
		cnt++;
	}
	return cnt;//返回位次
}

?2. 计算 一个自然数的每一位次方并求和,参考代码:

我们在这里将要使用库函数 pow() 。pow( x , y ) 即计算 x 的 y 次方,其头文件为<math.h>。

while (tmp)//通过%10/10以次得到一个自然数的为一位对应的数字
	 {
		sum += pow(tmp % 10, cnt);//得到每个数字总位次的次方并求和
		tmp /= 10;
	 }

3. 判断一个数是否为自幂数

//3.判断
if (sum == i && i > 0)	
{
	printf("%d 是自幂数\n", i);
		
}

4. 接下来让我们将每一步综合到一起

//计算自幂数
#include<stdio.h>
#include<math.h>
int count(int tmp)
{
	int cnt = 1;
	while (tmp /= 10)//每次除 10 取整为真就向前进一位
	{
		cnt++;
	}
	return cnt;//返回位次
}
int main()
{
	int i = 0;
	int n = 0;
	printf("请输入要寻找的自幂数的最大位次:\n");
	scanf("%d", &n);
	for (i = 0;i <= n ;i++)
	{
		//判断 i 是否为自幂数
		int tmp = i;//保存 i 的值,防止在计算位次时将 i 的值覆盖掉
		int sum = 0;

		//1.计算 i 的位数
		int cnt = count(i);//进行函数调用

		//2.再计算 i 的每一位次方
		while (tmp)//通过%10/10以次得到一个自然数的为一位对应的数字
		{
			sum += (int)pow(tmp % 10, cnt);//得到每个数字总位次的次方并求和
			tmp /= 10;
		}

		//3.判断并打印自幂数
		if (sum == i&& i > 0 )
		{
			printf("%d 是自幂数\n", i);
		}
	}
	return 0;
}

为了保护小作者的电脑我们只计算到北斗七星数:

运行结果:

?最后,给每一个同学一个大大的赞

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:03:37  更:2021-08-09 10:03:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/9 16:45:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码