趣味数字编程----你想要的我都有

本文通过C语言探讨了数字编程的趣味性,涉及水仙花数、完全数、素数、阶乘数、完全平方数和同构数等概念,揭示了编程与数学的巧妙结合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当有趣又奇妙的各种数字(水仙花数、完全数、素数、阶乘和数、完全平方数、同构数)遇到C语言 ,将会擦出怎样的火花呢?让我们拭目以待。

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

//回文数 
void huiwen()
{
	int s,r;
	
	int i;
	printf("1000以内的回文数:\n");
	for(i=0;i<1000;i++)
	{
		//由于数字分离过程会使原数发生改变,
		//故设置一个变量代替原数参与分离 
		s=i;
		
		//对每个数字逐位分离(从低位到高位)并重组为新的数字 
		int m=0;
		while(s!=0)
		{
			r=s%10;
			//根据循环处理的次数可得到原数的位数,
			//从而利用*10将低位逐渐升为高位 
			m=10*m+r; 
			s=s/10; 
		}
		//如果重组所得的数与原数相等 ,即正读反读都一样时 
		//则为回文数,打印出来 
		if(m==i)
		{
			printf("%d  ",m);
		}
	}
	printf("\n");
}

//同构数 
void tonggou()
{
	int i;
	printf("1000以内的同构数:\n");
	for(i=1;i<1000;i++)
		//对10取余得最后1位,对100取余得最后2位,对1000取余得最后3位 
		if(i*i%10==i||i*i%100==i||i*i%1000==i)
			printf("%d  ",i); 
	printf("\n");
} 

//完数 
void wanquanshu()
{
	int j,k,sum = 0;
	printf("1000以内的完数:\n");
	for(k=2;k<=1000;k++)
	{
		sum=0;
		for(j=1;j<k;j++)
			if(k%j==0)
				sum=sum+j;
		if(sum==k)
			printf("%d ",k);
	}
}

int jiecheng(int x)//求阶乘 
{ 
	
	int i,sum=1;
	for
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值