首页 > 其他分享 >求水仙花数

求水仙花数

时间:2024-09-20 10:20:09浏览次数:10  
标签:10 int a1 a3 a2 水仙花

众所周知:一个三位数的水仙花数就是这个数的百位、十位、个位的三次方的,就比如说: 153 = 1*1*1+3*3*3+5*5*5 = 1+27+125 =153,现在应该懂了吧,所有我们用分别用c语言、java、python来实现:

c语言版:

#include <stdio.h>

int main(int argc,char *argv[])
{

    int i, a1, a2, a3, sum;

    printf("三位数的水仙花数有:\n");
    
    // 遍历所有三位数
    for (i = 100; i < 1000; i++) {
        // 获取每一位数字
        a1 = i / 100;        // 百位
        a2 = (i / 10) % 10;  // 十位
        a3 = i % 10;         // 个位

        // 计算每位数字的立方和
        sum = a1 * a1 * a1 + a2 * a2 * a2 + a3 * a3 * a3;

        // 判断是否为水仙花数
        if (sum == i) {
            printf("%d\n", i);
        }
    }



    return 0;
}

java版:

public class NarcissisticNumber {
    public static void main(String[] args) {
        System.out.println("三位数的水仙花数有:");
        
        // 遍历所有三位数
        for (int i = 100; i < 1000; i++) {
            int a1 = i / 100;        // 百位
            int a2 = (i / 10) % 10;  // 十位
            int a3 = i % 10;         // 个位

            // 计算每位数字的立方和
            int sum = a1 * a1 * a1 + a2 * a2 * a2 + a3 * a3 * a3;

            // 判断是否为水仙花数
            if (sum == i) {
                System.out.println(i);
            }
        }
    }
}

python版

print("三位数的水仙花数有:")

# 遍历所有三位数
for i in range(100, 1000):
    a1 = i // 100       # 百位
    a2 = (i // 10) % 10 # 十位
    a3 = i % 10        # 个位

    # 计算每位数字的立方和
    sum = a1**3 + a2**3 + a3**3

    # 判断是否为水仙花数
    if sum == i:
        print(i)

最后的结果为:

三位数的水仙花数有:

153

370

371

407

标签:10,int,a1,a3,a2,水仙花
From: https://blog.csdn.net/qq_61958489/article/details/142376991

相关文章

  • 华为OD机试真题-水仙花数-2024年OD统一考试(E卷)
    最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客  题目描述所谓水仙花数,是指一个n位的正整数,其各位数字的n次方和等于该数本身。例如153是水仙花数,153是一个3位数,并且153=1^3+5^3+3^3。输入描述第一行输入一个整数n,表示一个n位的......
  • 18047 水仙花数
    ###思路1.遍历所有的三位数(100到999)。2.对于每个数,提取其百位、十位和个位数字。3.计算这些数字的立方和。4.如果立方和等于原数,则该数是水仙花数,输出该数。###伪代码1.遍历i从100到999:  -提取百位数字:hundreds=i/100  -提取十位数字:tens=(i/1......
  • 【水仙花数】C语言实现输出所有的水仙花数(三位数的)
    需要使用C语言编写程序打印所有的水仙花数首先介绍什么是水仙花数,水仙花数(也称为阿姆斯壮数或自恋数)是指一个n位数,其各位数字的n次方之和等于它本身。例如,对于三位数来说,如果一个三位数的各位数字的立方和等于这个数本身,那么这个数就是水仙花数。例如,对于三位数153:13+53+33=......
  • zzuli1027:判断水仙花数
    春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33。现在要求输入一个三位数,判断该数是否是水仙花数,如果是,输出“yes”,否则输出“no”输入一个三位的正整数。输出......
  • 【C语言习题】40.变种水仙花数
    文章目录题目代码题目代码#include<stdio.h>intmain(){inti,j;for(i=10000;i<99999;i++){intsum=0;for(j=10;j<=10000;j=10*j){sum+=(i/j)*(i%j);}if(sum==i)prin......
  • C语言——练习:水仙花数、n次幂值的计算
    1.输入一个数判断是否是水仙花数,并输出100—999之间所有的水仙花数水仙花数(Narcissisticnumber),也被称为超完全数字不变数(pluperfectdigitalinvariant,PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrongnumber),是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和......
  • JAVA——水仙花数问题
    2024/07/121.问题2.错误解法3.错误分析4.正确解法5.其他:关于Java中幂函数的用法6.参考1.问题2.错误解法importjava.util.Scanner;publicclassMain{ publicstaticvoidmain(String[]args){ Scannerscanner=newScanner(System.in); intA=nextInt();......
  • 《水仙花数》
    出题人:程兴亮描述水仙花数是指一个3位数,其各位数字的立方和等于它本身。比如153=1³+5³+3³=153。请编写一个函数判断水仙花数。输入描述输入一行,包括1个整数n。(100<=n<=999)输出描述n是水仙花数则输出这个水仙花数,否则就输出“No”。样例输入1 153样例输出1......
  • 【for循环】水仙花数
    【for循环】水仙花数时间限制:1000ms内存限制:65536KB【题目描述】【参考代码】#include<iostream> usingnamespacestd; intmain(){ for(intabc=100;abc<=999;abc++){//获取范围内所有的数字 intc=abc%10;//获取个位 intb......
  • python算法:水仙花数
    一,for循环:1,功能:重复执行同一段代码语法:forindexinrange(n):   #循环体代码index:用来依次接收可迭代对象中的元素的变量名range()函数:负责返回整数序列流程图:2,应用range可以同时指定start和stop,用for遍历并打印1234#指定start和s......