首页 > 其他分享 >判断某个区间的水仙数

判断某个区间的水仙数

时间:2024-11-29 21:33:23浏览次数:6  
标签:取模 变量 水仙 区间 几位数 位数 某个 数字

“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。


假设我们要求1~100000之间的水仙数,根据水仙数的定义,我们首先要判断这个数字是几位数,然后再取每个位数上的数字,依次乘方相加。所以大致步骤如下

①判断该数字是几位数

②取每个位数上的数字

③乘方相加

④判断是否为水仙数

根据取模和求商的操作可知,我们每次取模都可以得到一个数字得最后一个数字,取商得操作可知每次取商数字少一位,那么我们每次取模完用变量接收,再取商就可以得到每个数字,实现了步骤一和步骤二。

具体代码如下:

int main()
{
    for (int i = 1; i <= 100000; i++)
    {
        int count = 0;
        int b = i;
        int n = i;
        int m = i;
        while (m!=0)
        {
            m = m / 10;
            count += 1;
        }
        int d = 0;
        for (int j = 0; j < count; j++)//每个数字进行乘方并相加
        {  
            int c = b % 10;
            b = b / 10;
            d += pow(c, count);
        }
        if (d == n)//判断
            printf("%d\n", n);
    }
    return 0;
}

注意,while循环处如果还是使用最外层的i变量,则最外层for循环会出错,无法进入下一层循环,i一直为1,所以这里我使用了变量来代替i变量。

标签:取模,变量,水仙,区间,几位数,位数,某个,数字
From: https://blog.csdn.net/spikezqq/article/details/144063357

相关文章

  • 查找数组中相似字段(数组里面某个值相似归类到一起)
    例如↓数组中每条数据的url字段相似arr=[{id:0,dir:'/edit/aaaa/bbbb/cccc/dddd/20231123',title:'第一条数据'},{id:1,dir:'/edit/aaaa/bbbb/cccc/dddd/20241011',title:'第二条数据'},......
  • 置信区间与预测区间:数据科学中的不确定性量化技术深度解读
    在数据科学实践中,结果的可靠性评估至关重要。准确理解结果的可靠程度能够为决策制定提供有力支持。当我们能够量化结果的不确定性水平后,可以将其应用于以下方面:进行场景规划,评估最优和最劣情况开展风险评估,分析对决策的影响程度实施模型评估,对比不同模型的性能表现向决策者......
  • 代码随想录算法训练营第三十天|leetcode452. 用最少数量的箭引爆气球、leetcode435.
    1leetcode452.用最少数量的箭引爆气球题目链接:452.用最少数量的箭引爆气球-力扣(LeetCode)文章链接:代码随想录视频链接:贪心算法,判断重叠区间问题|LeetCode:452.用最少数量的箭引爆气球_哔哩哔哩_bilibili思路:有方法了,但是呢不知道怎么往后写,就是先找到对起始位置按照从小......
  • 1402 区间取数2
    //1402区间取数2.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。///*http://oj.daimayuan.top/course/22/problem/1090给你n个数a1,a2,...,an和一个整数k,你需要在这n个数中选出连续一段数,使得这些数的和不超过k。请问最多能选几个数。输入格式......
  • 1401 区间取数1
    //1401区间取数1.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。///*http://oj.daimayuan.top/course/22/problem/1089给你n个数a1,a2,...,an和一个整数k,你需要在这n个数中选出连续的c个数,使得这c个数的最大值不超过k,请问有几种选法。输入格式......
  • C语言实例之10求0-10000中的水仙花数
    1.水仙花数的描述水仙花数(Narcissisticnumber)也被称作自恋数、自幂数等。它是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为13......
  • 实现水仙花数的打映
    寻找水仙花数是一道经典的算法题,水仙花数定义是一个整数的每一位乘以位数的立方相加等于这个数本身,例如153=1^3+5^3+3^3,所以153是水仙花数。了解定义,接下来就是逻辑的实现,首先要知道数的位数,用while就可以实现,接下来就是立方相加,这里介绍两种方法,第一种是常规的方法,将要判断的......
  • 动态规划 区间dp 基础题
    题目19182石子合并(基础版)时间限制:1000MS代码长度限制:10KB提交次数:0通过次数:0题型:编程题语言:不限定Description设有N(N≤300)堆石子排成一排,其编号为1,2,3,⋯,N。每堆石子有一定的质量mi(mi≤1000)。现在要将这N堆石子合并成为一堆。每次只能合并相邻的两堆,......
  • 二分查找的区间到底是开还是闭?
    二分查找的区间到底是开还是闭?在这两个月的时间里,我似乎没有产出任何的有关知识点的文章,大多数都是题解相关的内容。以至于许多人觉得Macw07“失踪”了。本文是我来到北美之后的第一篇知识点文章,请大家多多关照。这次不讲难的知识点了,讲一个大家都熟悉的,但又非常令人抓毛的......
  • 质因数分解+状态压缩求区间积
    例题https://www.luogu.com.cn/problem/P10724#include<bits/stdc++.h>#defineendl'\n'#definelowbit(x)(x&-x)usingnamespacestd;typedeflonglongll;typedefpair<int,int>pii;typedefpair<ll,ll>pll;constdoublepi=ac......