C++和python实现阿姆斯特朗数字查找实例代码

下面我会详细讲解“C++和Python实现阿姆斯特朗数字查找实例代码”的完整攻略,并且给出两条示例。阿姆斯特朗数字指的是一个n位数,它的每个数位的n次方之和等于它本身。比如说153是一个阿姆斯特朗数字,因为:$1^3 + 5^3 + 3^3 = 153$。

C++实现阿姆斯特朗数字查找

  1. 首先定义一个函数 isArmstrong(),用于判断一个数是否为阿姆斯特朗数字。它的输入是一个整数,输出是一个布尔值 true/false。
bool isArmstrong(int num) {
    int sum = 0;
    int temp = num;
    int n = to_string(num).length();

    while (temp != 0) {
        int digit = temp % 10;
        sum += pow(digit, n);
        temp /= 10;
    }

    return sum == num;
}

这个函数的实现很简单,我们通过循环和取模运算来得到每个数位的值,然后将每个数位的值的n次方求和,最后判断求和结果是否和原数相等即可。

  1. 接下来是主函数,我们可以在主函数中输入一个范围,然后遍历这个范围内的数字,判断每个数字是否为阿姆斯特朗数字,如果是,就输出它。

例如,我们要在1到1000之间查找阿姆斯特朗数字:

int main() {
    int start = 1, end = 1000;
    for (int i = start; i <= end; i++) {
        if (isArmstrong(i)) {
            cout << i << " is an Armstrong number." << endl;
        }
    }
    return 0;
}

以上就是一个简单的C++实现。

Python实现阿姆斯特朗数字查找

Python的实现和C++类似,只不过语法稍有不同。以下给出两种Python实现的方式。

实现方式一

  1. 定义函数 is_armstrong(),用于判断一个数是否为阿姆斯特朗数字。和C++实现类似,它的输入是一个整数,输出是一个布尔值 true/false。
def is_armstrong(num):
    n = len(str(num))
    sum = 0
    temp = num
    while temp > 0:
        digit = temp % 10
        sum += digit ** n
        temp //= 10
    return sum == num
  1. 主函数如下,同样是输入一个范围,然后遍历范围内的数字,判断每个数字是否为阿姆斯特朗数字,如果是,就输出它。
def main():
    start = 1
    end = 1000
    for i in range(start, end + 1):
        if is_armstrong(i):
            print(i, "is an Armstrong number.")

实现方式二

  1. 定义函数 armstrong_numbers(),输入是一个数字数字n,输出是一个长度为n的列表,表示1~n中的所有阿姆斯特朗数字。
def armstrong_numbers(n):
    return [i for i in range(1, n+1) if is_armstrong(i)]
  1. 主函数如下,调用 armstrong_numbers() 来得到1~1000中所有的阿姆斯特朗数字。
def main():
    print(armstrong_numbers(1000))

以上就是两种Python实现阿姆斯特朗数字查找的方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++和python实现阿姆斯特朗数字查找实例代码 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • python实现将一个数组逆序输出的方法

    下面是标准的markdown格式文本,详细讲解“python实现将一个数组逆序输出的方法”的完整攻略: 简介 数组是一种非常常见的数据类型,它由相同类型的数据元素构成的有限序列。在Python中,我们可以通过列表(list)来表示数组。实现将一个数组逆序输出,可以通过该列表的reverse()方法,或使用切片语法实现。 reverse()方法 reverse…

    python 2023年6月5日
    00
  • Python开发之pip安装及使用方法详解

    Python开发之pip安装及使用方法详解 简介 pip(Pipeline Install Packages)是Python包管理工具,可以方便地安装、升级和管理Python包。它最早是随着Python 3.4版本一同发布的,用于替代Python原有的EasyInstall和pip两个工具。pip可以在命令行中使用,具有操作简单、功能强大、依赖清晰等优点。 …

    python 2023年5月14日
    00
  • python字符串常见使用操作方法介绍

    下面为您介绍Python字符串常见使用操作方法: 1. 字符串的创建和输出 Python中的字符串可以使用单引号、双引号、三引号等方式创建。我们可以使用print()函数输出字符串。 例如,我们可以使用以下代码创建字符串,并输出: # 使用单引号创建字符串 str1 = ‘Hello, World!’ print(str1) # 使用双引号创建字符串 str…

    python 2023年5月20日
    00
  • Python中循环引用(import)失败的解决方法

    当在 Python 中使用模块时,循环引用的问题可能会导致模块导入失败,特别是涉及到需要引用同一组模块的循环引用的情况下。下面是在 Python 中解决循环引用的方法。 一、了解循环引用 循环引用是指两个或多个模块相互引用,导致导入失败。例如,在 A 模块中导入 B 模块,而在 B 模块中又导入 A 模块,就会出现循环引用的问题。 二、解决循环引用的方法 2…

    python 2023年5月13日
    00
  • 解决pyqt5异常退出无提示信息的问题

    解决 PyQt5 异常退出无提示信息的问题攻略 问题描述: 使用 PyQt5 开发软件时,程序在运行过程中异常退出,但是没有任何提示信息或错误信息,导致无法判断和解决问题,这给程序的测试和维护带来了很大的困难。 解决方法: PyQt5 提供了一个名为 QCoreApplication 的类,通过使用该类中的 setAttribute 方法将 Qt 库设置为线…

    python 2023年5月13日
    00
  • Python新手学习raise用法

    当Python程序出现错误时,我们可以使用异常处理语句来捕获并处理这些错误。其中,raise关键字可以手动抛出异常,让程序进入异常处理流程,其格式为: raise Exception("错误信息") 其中,Exception表示异常类型,可根据实际情况选择不同类型的异常,而”错误信息”则为自定义的错误提示信息。接下来,我将为Python新…

    python 2023年5月13日
    00
  • Python如何配置环境变量详解

    Python如何配置环境变量详解 Python是一种高级编程语言,许多开发者在使用它进行开发工作时,会涉及到Python的环境配置。在配置Python的环境时,设置环境变量非常重要。本文将详细介绍如何配置Python的环境变量。 设置环境变量 Windows系统设置环境变量 在Windows系统上设置Python环境变量,需要打开系统的环境变量配置页面。针对…

    python 2023年5月14日
    00
  • python re.match()用法相关示例

    以下是详细讲解“python re.match()用法相关示例”的完整攻略,包括re.match()的介绍、语法、示例说明和注意事项。 re.match的介绍 re.match()是Python中re模块供的一个函数,用于从字符串的开头开始匹配正则表达式。如果匹配,则返回一个匹配;否则返回None。 re.match()的语法 re.match()的语法如下…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部