PTA 浙大版《C语言程序设计(第4版)》题目集 习题4-6 水仙花数

2023-10-27

原题链接

问题描述

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。

输入格式:
输入在一行中给出一个正整数N(3≤N≤7)。

输出格式:
按递增顺序输出所有N位水仙花数,每个数字占一行。

输入样例:
3

输出样例:
153
370
371
407

代码长度限制
16 KB
时间限制
2500 ms
内存限制
64 MB

解析

本题逻辑难度很小,但是有一点需要注意,盲目暴力求解可能会运行超时,主要问题出在<math.h>库中的pow()函数上。该函数的返回值为double类型,两个参数也为double,而我们需要传入的参数为int类型,返回值也为int类型,调用该函数会被强制转换成double类型,而double类型数据的运算会比int类型数据的运算复杂些,这也是造成运行超时的原因。改进方法为自己写一个int pow(int,int)函数切结幂运算。

代码

#include <stdio.h>

int pow(int a,int b)
{
	int res=1;
	for(int i=1;i<=b;i++) res*=a;
	return res;
}

int judge(int n)
{
	int sum=0,count=0;
	int n1=n,n2=n;
	do
	{
		count++;
		n1/=10;	
	}while(n1);
	while(n2)
	{
		sum+=pow(n2%10,count);
		n2/=10;
	}
	if(sum==n) return 1;
	return 0;
}

int main()
{
	int n;
	scanf("%d",&n);
	for(int i=pow(10,n-1);i<pow(10,n);i++)
	{
		if(judge(i)) printf("%d\n",i);
	}
	return 0;	
} 

运行结果

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PTA 浙大版《C语言程序设计(第4版)》题目集 习题4-6 水仙花数 的相关文章

  • 操作系统类型

    unix freebsd VxWorks Solaris Windows xp 7 8 10 Linux Redhat Ubuntu SUSE CentOS mobile Android ios symbian embeded system
  • 前端插件之 Select2 介绍及使用

    Select2是一款基于JQuery的下拉列表插件 主要用来优化select 支持单选和多选 同时也支持分组显示 列表检索 远程获取数据等众多好用的功能 项目地址 select2 org 基本使用 需要用到的JS和CSS文件位于项目代码下的

随机推荐

  • 彻底理解线程

    优质资源分享 学习路线指引 点击解锁 知识定位 人群定位 Python实战微信订餐小程序 进阶级 本课程是python flask 微信小程序的完美结合 从项目搭建到腾讯云部署上线 打造一个全栈订餐系统 Python量化交易实战 入门级 手
  • h2database BTree 设计实现与查询优化思考

    h2database 是使用Java 编写的开源数据库 兼容ANSI SQL89 既实现了常规基于 BTree 的存储引擎 又支持日志结构存储引擎 功能非常丰富 死锁检测机制 事务特性 MVCC 运维工具等 数据库学习非常好的案例 本文理论
  • Python爬虫(七)学习提取网页中所有链接

    import re import urllib request def getlink url headers User Agent Mozilla 5 0 Windows NT 10 0 WOW64 AppleWebKit 537 36
  • Android OpenGL ES抗锯齿

    多重采样MSAA GLSurfaceView设置多重采样 抗锯齿EGLConfigChooser author weiss email kleinminamo gmail com created 2018 7 3 public class
  • Quartz2.2.0 产生misfire条件参数misfireThreshold和misfire策略详细说明

    首先 misfire产生的条件是 misfire的时间间隔大于配置里设置的misfireThreshold值 就认为是misfire了 错失触发了 比如 13 07 24开始执行 重复执行5次 开始执行时 quartz已经计算好每次调度的时
  • rk3588:failed to open rknpu module, need to insmod rknpu dirver!

    1 permission denied sudo chmod R 777 userdata 2 sudo E 系统中已有的python test py 大概是环境变量这块的问题 sudo E一下就行了
  • 情境领导者-第二章、领导风格

    文章目录 情境领导者 第二章 领导风格 故事 背景 独裁式与民主式的领导风格 工作行为 关系行为 态度与行为 领导风格 风格一 S1 风格二 S2 风格三 S3 风格四 S4 结束语 情境领导者 第二章 领导风格 故事 罗杰斯 简单地说 我
  • Unity3D-5.4.1f-Rain Storm Effects插件应用及车辆前挡风玻璃简易雨刮器制作

    Unity3D 5 4 1f Rain Storm Effects插件应用及车辆前挡风玻璃简易雨刮器制作 作者Ghost Light 1 使用的雨天天气模拟插件是Rain Storm Effects Rain Storm Effects的基
  • mysql 字段拼接_mysql 字符串拼接,你知道几种方式?

    第一种 mysql自带语法CONCAT string1 string2 此处是直接把string1和string2等等的字符串拼接起来 无缝拼接哦 说明 此方法在拼接的时候如果有一个值为NULL 则返回NULL 如 1 SELECT CON
  • shell入门第三课 case语句

    虽然if elif语言可以做多项选择 但是使用case在有大量选择的情况下 更为合理 case语句与C语言的case有些相似 可以根据条件选择对应的语句执行 1 形式 case语句 case 变量 in 模式11 模式12 表达式 模式21
  • 区块链节点和区块区别_《区块链百问百答》-区块链的节点竞选,到底是什么...

    上期讲解的区块链在医疗领域的应用 你看了吗 本期视频将解答大家关于节点竞选的困惑 现在跟随由LemoChain策划的 区块链百问百答 来认识一下吧 https www zhihu com video 1139492556072271872
  • 删除字符串最后一个字符的几种方法

    偶然看到的 记录一下 以免忘记 字符串 string s 1 2 3 4 5 目标 删除最后一个 方法 1 用的最多的是Substring 这个也是我一直用的 s s Substring 0 s Length 1 2 用 RTrim 这个我
  • 网络安全-php安全知识点

    目录 语法与注释 输出 变量 弱类型安全 超级全局常量 函数 常用 字符串相关 正则表达式 子字符串位置 数据库相关 mysqli pdo 伪协议相关 反序列化漏洞 serialize函数 unserialize函数 魔法函数 举例 写给和
  • MYSQL——解决多维度随机组合查询场景:grouping sets函数

    一 引入 注意 通常用在构建数据集市和复杂随机组合场景查询时使用 对于经常需要对数据进行多维度的聚合分析的场景 您既需要对A列做聚合 也要对B列做聚合 同时要对A B两列做聚合 因此需要多次使用union all 案例 比如此处有一张表te
  • C++算法之快速排序

    C 算法之快速排序 文章目录 C 算法之快速排序 一 快速排序引出 二 快排步骤 三 代码实现 四 复杂度分析 一 快速排序引出 我们知道 给一个长度为n的序列排序 有三种很简单的算法 选择排序 冒泡排序 插入排序 这三种算法的复杂度均为O
  • SpingBoot集成Swagger和Knife4j

    1 项目开发中编写接口文档实在是痛苦 于是打算引入swagger 之后发现swagger不够舒服 便又引入knife4j springboot的相关依赖不再贴 下面是swagger和knife4j的相关依赖 版本有需求的可以上maven中央
  • 百度群组链接分享 - 铁人圈子

    百度网盘群组链接分享 铁人圈子 铁人圈子 tierenpan com 是一个分享百度网盘群组的发布平台 可以在铁人圈子上实时分享你的群组链接 并且和其他网友互动交流分享资源 群组分享 百度群组链接分享 地址 https www tieren
  • shape文件格式简单说明

    一 简介 ShapeFile是Esri开发的一种空间数据格式 她是一种矢量数据存储格式 通常用于描述几何体形状 点 线 面 及相关属性 二 组成说明 2 1 必须文件 shp 图形格式 用于描述几何体形状 shx 图形索引格式 记录每一个几
  • 一文带你彻底搞懂二叉树(Python实现)——真香

    文章目录 前言 树 树中的一些术语 树的分类 树的存储表示 二叉树 二叉树的性质 二叉树的实现 二叉树结点的实现 二叉树的创建 广度优先遍历 先序 中序 后序遍历 后记 前言 终于到了数据结构中的关键部分了 二叉树 说起二叉树啊 简直是我当
  • PTA 浙大版《C语言程序设计(第4版)》题目集 习题4-6 水仙花数

    原题链接 问题描述 水仙花数是指一个N位正整数 N 3 它的每个位上的数字的N次幂之和等于它本身 例如 153 13 53 33 本题要求编写程序 计算所有N位水仙花数 输入格式 输入在一行中给出一个正整数N 3 N 7 输出格式 按递增顺