返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++实现水仙花数判断实例
  • 470
分享到

C++实现水仙花数判断实例

2024-04-02 19:04:59 470人浏览 八月长安
摘要

目录前言一、思路分析二、代码实现1.水仙花函数2.完整代码总结前言 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital

前言

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)或阿姆斯特朗数(Armstrong number),是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

找出指定范围内的所有水仙花数需要我们利用循环的相关知识解决,本文将从思路分析入手,带大家逐步简化问题,直到代码实现。

一、思路分析

如果一个数是水仙花数,那么它的每个位上的数字的 3次幂之和等于它本身,因此我们需要分离出它各个位置上的数字,并对他们的三次幂求和,与原数相等即可。

问题就简化为了分离各个位置上的数,对于百位,我们可以知道,因为数据类型为 int 整型,因此原数除以100即为百位数;对于十位,将原数模100后,除以10即可;对于个位,模10即可获得。

到此,整体思路已经明确,我们将其转化为代码。

二、代码实现

1.水仙花函数

我们首先来写一个函数,这个函数的功能是判断一个数是否为水仙花数,如果是,返回真;否则,返回假。

代码如下(示例):



bool narcissus(int a)
{
	int sum = 0; // 记录最终求和结果

	int x1 = a / 100; // 原数除以100即为百位
	int x2 = a % 100 / 10; // 原数模100后,除以10就是十位数
	int x3 = a % 10; // 模10的结果就是个位数

	// 对得到的各位数的三次幂求和
	sum = x1 * x1 * x1 + x2 * x2 * x2 + x3 * x3 * x3;

	// 判断求和结果与原数是否相等
	if (sum == a)
		return 1;
	else
		return 0;
}

2.完整代码

在现有函数基础上,我们只需对所有三位数循环判断,若为真,输出;否则,跳过即可。

代码如下(示例):



#include<iOStream>
using namespace std;

bool narcissus(int a);

int main()
{
	cout << "水仙花数有:  ";

	// 从100开始,逐个检查所有三位数
	for (int i = 100; i < 1000; i++)
	{
		if (narcissus(i))
			cout << i << "  ";
	}

	return 0;
}

bool narcissus(int a)
{
	int sum = 0; // 记录最终求和结果

	int x1 = a / 100; // 原数除以100即为百位
	int x2 = a % 100 / 10; // 原数模100后,除以10就是十位数
	int x3 = a % 10; // 模10的结果就是个位数

	// 对得到的各位数的三次幂求和
	sum = x1 * x1 * x1 + x2 * x2 * x2 + x3 * x3 * x3;

	// 判断求和结果与原数是否相等
	if (sum == a)
		return 1;
	else
		return 0;
}
我们运行一下程序,看看结果如何。

在这里插入图片描述

经检验,代码运行无误,结果正确,可以放心复制粘贴。

总结

水仙花数的判断是常见的基础题型,除此之外,后续会陆续推出 c++ 的进阶题目,感兴趣且想学习的话不妨点点关注,你的点赞是我更新的最大动力哦!

到此这篇关于C++实现水仙花数判断实例的文章就介绍到这了,更多相关C++水仙花数判断内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++实现水仙花数判断实例

本文链接: https://lsjlt.com/news/161655.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++实现水仙花数判断实例
    目录前言一、思路分析二、代码实现1.水仙花函数2.完整代码总结前言 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital ...
    99+
    2024-04-02
  • Python实现水仙花数
    水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一...
    99+
    2023-01-31
    水仙花 Python
  • python实现水仙花数实例讲解
     1、什么是水仙花数? 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、...
    99+
    2024-04-02
  • python如何实现水仙花数示例
    这篇文章给大家分享的是有关python如何实现水仙花数示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 1、什么是水仙花数?水仙花数(Narcissistic number)也被称为超完全数字不变数(...
    99+
    2023-06-14
  • javascript怎么实现水仙花数
    小编给大家分享一下javascript怎么实现水仙花数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!JavaScript的特点1.JavaScript主要用来向HTML页面添加交互行为。2.JavaScript可以直接嵌入...
    99+
    2023-06-14
  • JS如何判断一个数是否是水仙花数
    这篇文章主要介绍JS如何判断一个数是否是水仙花数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身...
    99+
    2024-04-02
  • C语言水仙花数与变种水仙花数代码怎么写
    这篇“C语言水仙花数与变种水仙花数代码怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言水仙花数与变种水仙花数代码怎...
    99+
    2023-06-30
  • C语言深入探究水仙花数与变种水仙花数代码
    目录1.水仙花1.1先看代码1.2大体逻辑2.变种水仙花数2.1先看代码2.2代码剖析1.水仙花 题目: 1.1先看代码 #include <stdio.h> int ...
    99+
    2024-04-02
  • Python实例练习水仙花数问题讲解
    目录1. 问题描述2. 问题分析3. 算法思路4. 代码实现for循环代码实现while循环代码实现1. 问题描述 水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆...
    99+
    2024-04-02
  • 【Python】Python方法求水仙花数原码实例
    用Python编程方法求水仙花数,一行python代码就能解决问题。先要知道什么是水仙花数,之后再去写代码,这样是非常有效的。水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。Python方法求水...
    99+
    2023-06-02
  • Java PTA 计算3到7位 水仙花数实例
    目录PTA计算3到7位水仙花数水仙花数的Java实现要求输出所有在m和n范围内的水仙花数代码还能优化PTA计算3到7位 水仙花数 import java.util.Scanner;...
    99+
    2024-04-02
  • c语言如何求水仙花数
    水仙花数是指一个三位数,它的各个位上的数字的立方和等于它本身。下面是使用C语言求水仙花数的方法:```c#include int m...
    99+
    2023-08-08
    c语言
  • c++水仙花数问题怎么解决
    水仙花数是指一个n位数,其各位数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153...
    99+
    2024-03-07
    c++
  • Java和C语言分别实现水仙花数及拓展代码
    目录前言 一、水仙花数 1.代码(Java) 2.运行结果(Java)3.代码(C语言) 4.运行结果(C语言)二、拓展 1.代码(Java) 2.运行结果(Java)3.代码(C...
    99+
    2024-04-02
  • 如何用C语言求出水仙花数
    如何用C语言求出水仙花数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。题目描述求出所有的水仙花数分析百度百科:水仙花数(Narcissistic number)...
    99+
    2023-06-21
  • C语言趣味编程之水仙花数
    目录题目描述分析代码实现运行结果题目描述 求出所有的水仙花数 分析 百度百科:水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect d...
    99+
    2024-04-02
  • 怎么用c语言输出水仙花数
    水仙花数定义:一个n位数等于其各位数字的n次方之和。以下是用C语言输出水仙花数的方法:```c#include int main()...
    99+
    2023-08-08
    c语言
  • C语言简单粗暴的笨方法找水仙花数
    什么是水仙花数: 指一个n位数,其各位数字的n次方之和确好等于该数本身 例如:    1         1^1=1; 153      3^3+5^3+1^3=153; 问题:求0...
    99+
    2024-04-02
  • C语言中怎么用简单粗暴的方法找水仙花数
    这篇文章主要介绍了C语言中怎么用简单粗暴的方法找水仙花数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言中怎么用简单粗暴的方法找水仙花数文章都会有所收获,下面我们一起来看看吧。什么是水仙花数:指一个n位数,...
    99+
    2023-06-29
  • 用c语言编程实现素数判断(判断素数的c语言程序函数)
    以下是一个用C语言编写的判断素数的函数:```c#include #include bool isPrime(int n) {if ...
    99+
    2023-09-22
    c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作