首页 > 其他分享 >实现水仙花数的打映

实现水仙花数的打映

时间:2024-11-27 18:31:41浏览次数:8  
标签:10 sz 实现 ++ int sem 打映 水仙花

寻找水仙花数是一道经典的算法题,水仙花数定义是一个整数的每一位乘以位数的立方相加等于这个数本身,例如153=1^3+5^3+3^3,所以153是水仙花数。

了解定义,接下来就是逻辑的实现,首先要知道数的位数,用while就可以实现,接下来就是立方相加,这里介绍两种方法,第一种是常规的方法,将要判断的数%10,取

一位数进行计算,将计算结果存入一个变量中,重复这个过程,最后输出:

​
int ret(int i)
{
	int count = 1;
	while (i /= 10) 
	{
		count++;
	}
	return count;

}
int set(int i, int sz) 
{
	int sum = 0;
	int j = 0;
	int s = 0;
	for ( j = 0; j < sz; j++)
	{
		int k = i % 10; 
		int sem = 1;
		for (s = 0; s < sz; s++)
		{
			sem *= k;
		}
		sum += sem;
		i /= 10;
	}
	return sum;
}
int main()

{
	int i = 0;
	for (i = 0; i <= 100000; i++)
	{
		int sz = ret(i);  //153
		int sf = set(i, sz);
		if (sf == i)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

​

第二种方法是运用pow函数,下面是cplusplus中对pow的演示,pow可以将一个数提升到想要的次方:

那么就可以用另一种方法实现次方问题:

int main()
{
	int a = 0;
	for (a = 0; a <= 100000; a++)
	{
		int n = 1;
		int tem = a;
		while ((tem/=10)!=0)
		{
			n++;
		}
		tem = a;
		int sum = 0;
		while (tem!=0)
		{
			sum += pow(tem % 10, n);
			tem /= 10;
		}
		if (sum == a)
		{
			printf("%d ", sum);
		}
	}
	return 0;
}

http://cplusplus.com

标签:10,sz,实现,++,int,sem,打映,水仙花
From: https://blog.csdn.net/credif/article/details/144070591

相关文章

  • # vue 实现关键字高亮效果
    vue实现关键字高亮效果这是啥子意思呢,就是类似于百度搜索,根据关键词搜索结果,搜索结果中,与关键词相同的字显示红色,仅此而已,没有什么大的功能。简单写一下demo。环境我使用的是vue3+ts的语法来写,其实一个样儿,关键代码js、ts都可以,就一个方法,调用一下就可以了。<templat......
  • vxe-table 实现表格数据分组,按指定字段数据分组
    实现表格数据分组,按指定字段数据分组,使用树结构来实现分组功能。官网:https://vxetable.cn<template><div><vxe-gridv-bind="gridOptions"></vxe-grid></div></template><script>importXEUtilsfrom'xe-utils'constal......
  • 《用Python实现动态爱心表白:点亮屏幕上的浪漫时刻!》
    在代码的世界里,爱意也可以用程序表达。如果你想向心爱的TA表白,不如用Python来一场创意满满的“浪漫攻击”!今天,我将分享一个结合了动态爱心特效和交互式表白窗口的程序,快来试试吧!功能简介动态爱心特效使用数学公式绘制动态爱心,屏幕上会显示粉色爱心不停跳动,非常梦幻。......
  • css 实现刘海屏样式兼容并支持 js 获取刘海屏高度后动态修改
    css:root{--safe-area-inset-top:0px;--safe-area-inset-right:0px;--safe-area-inset-bottom:0px;--safe-area-inset-left:0px;--safe-area-inset-constant-top:0px;--safe-area-inset-constant-right:0px;--safe-area-inset-constant-bottom:......
  • 【计算机毕业设计推荐】基于springboot的青少年心理健康教育网站的设计与实现 【附源
    ✍✍计算机编程指导师⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java实战|SpringBoot/SSMPython实战项目|Django微信小程......
  • 【计算机毕业设计选题推荐】基于springboot的某学院兼职平台的设计与实现 【附源码+讲
    ✍✍计算机编程指导师⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java实战|SpringBoot/SSMPython实战项目|Django微信小程......
  • 0基础 学习 通过docker实现域名绑定访问网站
    dockerpullnginx#下载nginx镜像dockerimages#查看镜像dockerimagels#查看镜像dockerpullnginx:1.26.0#下载镜像完整代码dockerpull镜像名:版本号dockerpullnginx#简洁版下载镜像(最新)dockerrmi+IMAGEid或者镜像名:版本号#删除镜像id可以只输入前三......
  • 新能源汽车充电基础设施短板问题多,如何实现高效、综合、智能化管理?
    随着城市经济的发展,人民生活水平的提升,新能源汽车保有量快速增长,而日益增长的新能源汽车需求与充电基础设施建设不平衡的矛盾日益突出。由于停车泊位充电基础设施总量不足、布局待优化、利用效率低、建设运营存在短板问题等原因,充电找桩难、管理不规范、综合成本高等问题十分突出,......
  • 宇视设备视频平台EasyCVR萤石设备视频接入平台如何实现集群化部署管理与配置?
    在当今这个信息化快速发展的时代,视频监控系统已成为保障公共安全和提升管理效率的重要工具。随着视频监控技术的不断进步,EasyCVR视频汇聚平台应运而生,它以其强大的视频转码能力和集群化部署优势,为大中型视频监控项目提供了一个高效、稳定的解决方案。本文将详细介绍宇视设备视频......
  • C/C++ openCV实现实时课室管理系统
    该系统能实时展示教室的使用状态,它通过分析摄像头传回的视频信息来判断教室中是否有课程正在进行,并将这些信息即时更新到教学楼大厅的显示屏上。由于各种不可预见的原因,预先制定的课程表可能无法准确反映教室的实际使用情况,因此这个实时系统提供了更加准确的参考。核心功能:(1)......