首页 > 其他分享 >水仙花数(C语言)

水仙花数(C语言)

时间:2024-03-23 18:34:03浏览次数:22  
标签:count 10 int sum C语言 tep 水仙花

文章目录

    • 水仙花数的起源
    • 思路
    • 运行代码

水仙花数的起源

水仙花数的名称来源于希腊神话中的美少年纳西索斯(Narcissus),其名字“Narcissus”与水仙花数的英文名称“Narcissistic number”的词根一致。

水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3+5^3+3^3=153。这个概念最早可以追溯到1946年,由数学家Dudeney在一本数学谜题书中提出,但与植物水仙花无关。

思路

1.运用for循环验证1-200是否为水仙花数

for (i = 0; i < 200; i++)

2.计算几位数

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

3.再定义tep(强调)

tep = i;

4.各位数字的n次方之和

		while (tep)
		{
			sum = sum+pow(tep % 10, count);
			tep /= 10;
		}

5.if判断i==sum

		if (sum = i)/*判断sum=i*/
		{
			printf("%d ", i);
		}

运行代码

#include<stdio.h>
#include<math.h>

int n = 10, count = 1;
void Print_daffodils(int i)
{
	for (i = 0; i < 200; i++)
	{
		int tep = i;/*初始化tep*/
		/*计算几位数*/
		while(tep)
		{
			count++;
			tep = tep / 10;
		}
		tep = i;/*再初始化*/
		int sum = 0;
	/*计算sum*/
		while (tep)
		{
			sum = sum+pow(tep % 10, count);
			tep /= 10;
		}
		if (sum = i)/*判断sum=i*/
		{
			printf("%d ", i);
		}
	}
}

int main()
{
	int i = 0;
	printf("水仙花数:");
	Print_daffodils(i);
	printf("\n");
	return 0;
}

标签:count,10,int,sum,C语言,tep,水仙花
From: https://blog.csdn.net/2301_80975833/article/details/136950985

相关文章

  • C语言进阶——动态内存管理
    目录一、C语言底层内存知识补充二、动态内存函数1.1free1.2malloc1.3calloc1.4realloc三、使用常见错误3.1对非动态开辟内存使用free释放3.2空指针未判断造成的错误3.3使用free释放一块动态开辟内存的一部分3.4对同一块动态内存多次释放3.5动态开辟内存没有释放而......
  • C语言——函数练习程序
    1.从终端接收一个数,封装一个函数判断该数是否为素数#include<stdio.h>intpri(intnum){inti=0;for(i=2;i<num;i++){if(num%i==0){return0;break;}}if(i==num-1)......
  • 【C语言】整数和浮点数在内存中的存储
    点这里是个人主页~这次的内容是比较底层的奥,对于理解编程很重要~整数浮点数在内存中的存储一、整数在内存中的存储二、大小端字节序和字节序判断大小端的概念一道简单关于大小端排序的百度面试题三、简单理解数据类型存储范围例一例二例三例四例五例六四、浮点......
  • C语言的算符优先级
    C语言中提供许多算符,比如算术运算、逻辑运算、关系运算等,必须规定它们的优先级,否则将它们放到一起运算肯定要出乱子,正如算术中有先乘除后加减的规则,C语言同样要有确定的运算规则。C语言定义了15个算符优先级,其优先级规则如下:规则1:优先级高的先运算规则2:同一个优先级则需要按照结......
  • C语言 03 原码 反码 补码
    原码计算机中所有的数字都是使用0和1这样的二进制数来进行表示的。这时如果要存储一个数据,比如十进制的3,那么就需要使用2个二进制位来保存,二进制格式为11,占用两个位置,称为2bit位。一般占用8个bit位表示一个字节(B),2个字节等于1个字,所以一个字表示16个bit位......
  • C语言字符函数和字符串函数及内存函数详解(干货小知识:常用函数的模拟实现)
    文章目录1.字符函数1.1字符分类函数1.2字符转换函数2.字符串函数2.1strlen函数2.1.1strlen函数的使用:2.1.2strlen函数的模拟实现2.2strcpy函数2.2.1strcpy函数的使用2.2.2strcpy函数的模拟实现2.3strcat函数2.3.1strcat函数的使用2.3.2strcat函数的模拟实......
  • PAT乙级 1062 最简分数 C语言
    最简分数一个分数一般写成两个整数相除的形式:N/M,其中M不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数N1​/M1​和N2​/M2​,要求你按从小到大的顺序列出它们之间分母为K的最简分数。输入格式:输入在一行中按N/M的格式给出两个......
  • PAT乙级 1055 集体照 C语言
    集体照拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下:每排人数为N/K(向下取整),多出来的人全部站在最后一排;后排所有人的个子都不比前排任何人矮;每排中最高者站中间(中间位置为m/2+1,其中m为该排人数,除法向下取整);每排其他人以中间人为轴,按身高......
  • PAT乙级 1054 求平均值 C语言
    本题的基本要求非常简单:给定N个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是[−1000,1000]区间内的实数,并且最多精确到小数点后2位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式:输入第一行给出正整数N(≤100)。随......
  • 0基础学习C语言第一章:常量与变量详解
    一、常量定义:在程序运行过程中,其值不能被改变的量称为常量。常用常量有以下几类:1.整型常量十进制整数形式例如:234,-1232.实型(浮点型)常量十进制小数形式:由数字、小数点组成例如:2.345、-23.345指数形式:如:1.23e2(相当于1.23x10²)由于在计算机输入输出时,无法表示上角......