目录

一.水仙花数

1.什么是水仙花数

2.设计要求

3.思路

4.分析

5.代码源

二、变种“水仙花数”

1.什么是变种“水仙花数”

2.设计要求

3.思路

4.代码源


一.水仙花数

1.什么是水仙花数

“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身。

如 : 153=1 ^ 3+5 ^ 3+3 ^ 3,则153是一个“水仙花数”。

2.设计要求

求出0~100000之间的所有“水仙花数”并输出。

3.思路

给定一个数据data,求取data是几位数,获取data中每个位置上的数据,利用pow函数进行次方运算,并求和,若求和结果与data元素本身相等,则为水仙花数,否则,不是。

1.计算数据num的个位数,并将其赋值给temp。

2.计算个位数的n次幂,并累加到sum中。

3.移位操作,将num减去个位数temp后,再除10,便相当于数据的右移操作。此时减少一位,并将

结果重新赋值给num。

4.重复步骤(1)的操作,直到所有的位数都得到处理为止。

4.分析

1.给定一个数,求这个数的位数

利用给个数除以10,得到比这个数低一位的数来计算这个数有多少位。

例:1是由1位数字组成,12是由2位数字组成,123是由3位数字组成。

1:1/10=0(结束)

1由1位数字组成

12:12/10=1

1/10=0(结束)

12由2位数字组成

123:123/10=12

12/10=1

1/10=0(结束)

while (tmp / 10)
{count++;tmp = tmp / 10;
}

2.计算每一位数

该数字连续模10和除以10即可得到每一位。

while (tmp)
{n = tmp % 10tmp = tmp / 10;
}

3.计算每一位的n次方和

这里我们运用pow来求次方数;

必须加入头文件:#include <math.h>

pow(a, b);//计算a的b次方
#include <math.h>
while (tmp)
{sum += pow(tmp % 10, count);tmp = tmp / 10;
}

5.代码源

#include <stdio.h>#include<math.h>int main()
{int i = 0;for (i = 0; i <= 999999; i++){int count = 1;int tmp = i;int sum = 0;//判断i是否为水仙花数//1. 求判断数字的位数while (tmp / 10){count++;tmp = tmp / 10;}//2. 计算每一位的次方和tmp = i;while (tmp){sum += pow(tmp % 10, count);tmp = tmp / 10;}//3. 判断if (sum == i)printf("%d ", i);}return 0;
}

二、变种“水仙花数”

1.什么是变种“水仙花数”

变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。

例如:

655 = 6 * 55 + 65 * 5

1461 = 1*461 + 14*61 + 146*1

求出 5位数中的所有 Lily Number。

2.设计要求

输入描述:

输出描述:

一行,5位数中的所有 Lily Number,每两个数之间间隔一个空格。

3.思路

以此为例讲解变种水仙花数(1461 = 1*461 + 14*61 + 146*1)

我们都知道%10能求出一个数的一位,/10能去掉一位。

146(1461/10)   1(1461%10)

14(1461/100)   61(1461%100)

1(1461/1000)   461(1461%1000)

4.代码源

#include <stdio.h>
int main()
{int i = 0;for(i=10000; i<=99999; i++){//判断i是否为lily numberint j = 10;int sum = 0;int tmp = i;for(j=10; j<=10000; j*=10){sum += (tmp%j)*(tmp/j);}if(sum == i)printf("%d ", i);}return 0;
}

“水仙花数”与变种“水仙花数”相关推荐

  1. 水仙花数和变种水仙花数

    水仙花数 描述 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: "水仙花数"是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+ ...

  2. 水仙花数 与 变种水仙花数 的求解 【C语言】

    目录 水仙花数 变种水仙花数 水仙花数 简介:水仙花数是自幂数中的一种,三位自幂数又被称为水仙花数. 补充:如果在一个固定的进制中,一个n位自然数等于自身各个数位上数字的n次幂之和,则称此数为自幂数. ...

  3. 变种水仙花数 来自newcode一道初级编程题

    变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily ...

  4. ACMNO.10打印出所有水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 Output: 153 ???

    题目描述 打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身. 例如:153是一个水仙花数,因为153=1^3+5^3+3^3. ...

  5. /* * 编程第三题(20分) 打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。(例153=1*1*1+3*3*3+5*5*5) */

    题目: /* 编程第三题(20分) 打印所有的水仙花数.所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身.(例153=111+333+555) */ 我是用java做的 public cla ...

  6. 实例013:所有水仙花数 打印出所有的“水仙花数“,所谓“水仙花数“是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数“,因为153=1的三次方+5的三次方+3的三次方

    实例013:所有水仙花数题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数&q ...

  7. Python今日编程——判断水仙花数然后求水仙花数

    今天来的"潜一下水"咯,如何要用python函数写一个判断水仙花数的程序应该怎么做? 常规的编程题:编写一个判断一个数是否是水仙花数的函数,然后利用该函数求所有水仙花数. 然后思考 ...

  8. 什么是水仙花数并判断水仙花数

    题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身.例如:153 是一个 "水仙花数 ", ...

  9. /* 题目: * 打印出所有的 水仙花数 ,所谓 水仙花数 是指一个三位数,其各位数字立方和 等于该数本身。 例如: 153 是一个 水仙花数

    package Practice; public class Task_3 { /* 题目:* 打印出所有的 " 水仙花数 ",所谓 " 水仙花数 "是指一个三 ...

最新文章

  1. OpenCV-Python:实现人脸、人眼、嘴巴识别
  2. MYSQL数值运算符和函数用法
  3. 02.elasticsearch bucket aggregation查询
  4. HTML head 头标签
  5. API接口测试用例设计
  6. Fedora 14 x64 试用手记
  7. LWN: lockless编程模式——relaxed access和partial memory barrier
  8. 花音机器人_【扑杀花音攻略组】超弩风机器人攻略(复刻x2)
  9. composer.lock(锁文件)到底要不要提交到项目的版本库中?
  10. Python 实现用GUI设计有界面的词云生成器
  11. Android 7.0图片裁剪问题
  12. 电子书产品日趋丰富,科大讯飞智能办公本仍是理想之选
  13. Random不出现重复数字
  14. gocv-go语言调用opencv入门
  15. DBLE分库分表实战
  16. 操作系统文件存储空间管理(存储空间的划分与初始化)
  17. (心态篇)空杯心态,一个程序员的自我修炼
  18. 英特尔与阿里巴巴共推以数据为中心的计算革新
  19. 4K高清壁纸应用Pap.er Mac中文版
  20. 中国的5G建设和美国马斯克的星链有什么区别?

热门文章

  1. 计算机实验word,实验六计算机基础——word段落设置
  2. 如何为Android Activity设置背景图片?
  3. Day16:hash表
  4. 【转载】一个程序猿必须会玩的游戏
  5. 番茄花园幕后公司揭秘
  6. 2、软件的生命周期软件测试的工作流程
  7. TM1637数码管显示
  8. C语言指针进阶(中)
  9. SOC,SOH,SOP,内部温度总结
  10. 区间选点(贪心,区间问题)