贪心算法之——阶乘之和(nyoj91)

基于visual Studio2013解决C语言竞赛题之阶乘求和 用循环语句编写求 1到20的阶乘的程序。 立即下载

阶乘之和

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述

给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;

输入
第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000;
输出
如果符合条件,输出Yes,否则输出No(注意大小写);
样例输入
2
9
10
样例输出
Yes
No

提示:首先把阶乘小于1000000的数列出来,然后怎样去判断一个数是不是这些数的阶乘之和呢?

题目中有一个很重要的信息叫做,没个数只能用一次。这就告诉我们只需单向遍历数组就够了。一个数要是这些数的和,那肯定是比他小的数累加得来的,而阶乘数之间存在着倍数关系,所以每次只用查找比n小的最大阶乘数。

 
#include <cstdio>
using namespace std;
int s[9] = {1,2,6,24,120,720,5040,40320,362880};

int main()
{
    int t, n;
    scanf("%d", &t);
    while(t--)
    {
        scanf("%d", &n);
        for(int i=8; i>=0; i--)
        {
            if(n>=s[i])
            {
                n -= s[i];
                if(n == 0) {printf("Yes\n");break;}
            }
        }
        if(n != 0) printf("No\n");
    }
    return 0;
}
        


学习记录——SIMPACK生成轨道谱文件的方法 生成轨道谱文件的方法,可以用于实测轨道谱导入和自制轨道谱导入仿真 阅读详情

相关推荐

揭秘Coze图生图隐藏玩法:用Excel批量生成100+电商主图(扣子插件进阶教程)

本文深入解析了如何利用Coze(扣子)的图像生成插件实现电商主图的批量自动化生产。通过将Excel数据源、参数化提示词模板与参考图风格相结合,构建了一套高效的企业级解决方案,能够快速为海量SKU生成风格统一的高质量图片,大幅提升电商运营效率。

theta的博客 433

阶乘之和(贪心算法)

给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;  输入 第一行有一个整数0 每组测试数据有一个正整数n   输出 如果符合条件,输出Yes,否则输出No;

飘过的小牛 8295

说一下Intel Fortran 编译器经典版ifort和新一代ifx

摘要:ifort是Intel开发的传统Fortran编译器,以稳定性和遗留代码兼容性著称,现已进入维护模式。ifx则是基于LLVM架构的新一代Fortran编译器,具有更好的性能优化、更快的编译速度,并支持最新Fortran标准和GPU加速。英特尔计划逐步用ifx取代ifort,前者将成为未来主力发展的产品线。两者的核心区别在于技术基础(传统vs.现代化LLVM)和功能支持(维护状态vs.持续更新)。

luohaitao的专栏 1347

阶乘之和

点击打开链接 阶乘之和 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No; 输入第一行有一个整数0 每组测试数据有一个正整数n输出如果符合条件,输出Yes,否则输出No;样例输入 2910 样

d1183的博客 474

OpencvSharp学习笔记(一):图片的打开,保存灰度化,保存

近来萌生了学习OpenCv的想法,经过度娘得知老夫会的C#不能直接用OpenCv,只能用他的儿子OpenCvSharp与EmguCV,奈何奈何,这两玩意的资料少的出奇,只能慢慢的摸索了,EmguCV先不说,老夫找到了牛批的资料,先摸索OpencvSharp吧 首先打开VS通过Nuget安装 选择版本后点击安装就OK了. 安装完成后,引用里面就有以下的玩意儿了… 废话不多说了,在写程序前先 using OpenCvSharp 图片打开,灰度化,保存代码如下: static void Main(strin

猥琐de专注 7187

博途WinCC上位机避坑指南:从工控机选型到趋势图优化的完整流程

本文详细解析了博途WinCC上位机开发全流程,从工控机选型到趋势图优化的关键技巧。针对工业自动化场景,提供硬件配置指南、网络优化方案和性能提升策略,帮助工程师避开常见陷阱,实现稳定高效的HMI系统部署。特别强调PC Station与传统触摸屏的选型对比及SIMATIC NET配置优化。

pp12345的博客 278

南阳理工oj_91&NYOJ91

题目大意: 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;注意:(这些数可以不连续), 输入:第一行有一个整数0 每组测试数据有一个正整数n 输出:         如果符合条件,输出Yes,否则输出No; 题目分析:此题目为贪心算法解题,注意到n 源代码及分析

机器笨猫 1174

极路由 极1s J1S hc5661 刷padavan固件

极路由1S刷机指南 准备工作: 下载Breed不死固件 通过WinSCP上传或直接wget获取 执行mtd命令写入Breed 关键步骤: 进入Breed控制台(按住Reset键开机) 备份原厂固件和密钥 下载Padavan固件(RT-N14U-GPIO-12-xiaodu-ji1S-128M.trx) 刷机过程: 在Breed控制台更新固件 等待自动重启完成 初始设置: 管理地址:192.168.123.1 默认账号:admin/admin 无线名称:PCDN 无线密码:1234567890 注意事项:切勿

SimonLiu的博客 1302

南工ACM:阶乘之和

描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No; 输入 第一行有一个整数0<m<1000<m<100,表示有m组测试数据; 每组测试数据有一个正整数n<1000000; 输出 如果符合条件,输出Yes,否则输出No; 样例输入 2 9 10 样例输出 Yes No思路:贪

丁磊_ml的博客 1050

新能源汽车电池及充电原理详解

本文详细介绍了新能源汽车的电池包结构、铅酸电池充放电原理,以及交流和直流充电的工作原理和优缺点。内容涵盖电池串联并联原因、充电设备如车载充电机、交流充电桩和直流充电桩的介绍,以及不同充电模式的连接方式。通过对充电过程的深入探讨,有助于读者理解新能源汽车的充电技术。

让你爱上电路设计 4525

基于Python的全卷积网络(FCN)实现路径损耗预测

本文提出一种基于全卷积网络(FCN)的无线信道路径损耗预测方法。通过合成数据生成模块构建包含房间布局和发射点坐标的训练数据集,采用双分支FCN架构融合空间特征与坐标信息,引入空间注意力机制增强关键区域提取。实验表明,该方法相比传统模型能更准确地预测复杂环境下的路径损耗,平均绝对误差降低约35%。系统支持端到端训练,可扩展融合多模态数据,为5G网络规划等应用提供高效预测工具。

huanghm88的专栏 577

《贪心算法》— NYOJ 91 阶乘之和

阶乘之和 时间限制:3000ms | 内存限制:65535KB 难度:3 描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No; 输入 第一行有一个整数0<m<100,表示有m组测试数据; 每组测试数据有一个正整数n<1000000; 输出 如果符合条件,输出...

69小石头的博客 692

[NoC]Outstanding和Credit的概念详解

摘要:本文详细解析了计算机体系结构中outstanding和credit两个核心概念。outstanding指已发出但未完成的请求数量,通过跟踪未决事务实现并发和乱序执行,常见于AXI总线等场景;credit则是基于信用令牌的流控机制,通过控制发送速率防止接收端缓冲溢出,多用于NoC网络。二者在目的、机制上存在差异:outstanding侧重提升并发度,credit关注流控保护。文章通过AXI协议实例和SystemC代码示例展示了二者的应用与结合方式,并探讨了在SoC设计中参数优化的方法,包括性能/资源权衡

元直的博客 2282

NYOJ 91题 阶乘之和(贪心算法)

开始时,先算出了,从1到10的阶乘{1, 2, 6, 24, 120, 720, 5040, 40320, 362880,,328800},心想,就是这前9中里面的任意组合,于是,想要标记出所有可以用阶乘表示的数。无奈,后来发现,个数太多,根本就无法表示出来。于是上网搜资料,才知道,这是用了贪心算法。 下面是复制的关于贪心算法的介绍: 贪心算法(又叫 贪婪算法),是指在对问题求解时,总是做出在

静-静的雪 1216

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

NYOJ 91 阶乘之和——贪心算法

解题思路 刚开始看到这个题,觉得枚举应该就可以完成,纯暴力也可以完成,因为只要枚举到10就可以了,但是觉得没有意思。想想还是用贪心策略来做。把最接近N的阶乘当作N的一个项。有人就会问,为啥要最接近的呢,取第二接近然后加上前面的数也可以的啊(没有规定有几个项)?当时我也以为用不了贪心。but ,可以发现第i项的阶乘比前i-1的阶乘和都要大。So,贪心策略可行! 水题!!!!!!!!!!!!#inc

灰太狼Polaris的专栏 726

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

NYOJ 贪心算法 91 阶乘之和

阶乘之和 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No; 输入 第一行有一个整数0&lt;m&lt;100,表示有m组测试数据; 每组测试数据有一个正整数n&lt;1000000; 输出 如果符合条件,输出...

小子有一剑的博客 324

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

贪心算法-nyoj-91-阶乘之和

时间限制:3000 ms | 内存限制:65535 KB难度:3描述给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;输入第一行有一个整数0

m0_62089210的博客 321

NYOJ 91 阶乘之和 贪心算法

给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!,如果是,则输出Yes,否则输出No;时间限制:3000 ms | 内存限制:65535 KB难度:3。第一行有一个整数0

jackson61的博客 148

NYOJ 91 阶乘之和 贪心算法

阶乘之和 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No; 输入 第一行有一个整数0 每组测试数据有一个正整数n输出 如果符合条件,输出Yes,否则输出No; 样例输入 2 9 10

我家猫叫佩奇の博客 436

NYOJ - 91 - 阶乘之和(贪心算法)

描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No; 输入第一行有一个整数0 每组测试数据有一个正整数n输出如果符合条件,输出Yes,否则输出No;样例输入 2910 样例输出 YesNo //int num[9] = {1,2,6,24,120,720,5040,4032

i逆天耗子 1961

NYOJ 91 阶乘之和 (经典贪心算法)

地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=91思路:贪心,最大到最小依次加~~代码如下:

cqn2bd2b的博客 144

NYOJ 91 阶乘之和

阶乘之和 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No; 输入第一行有一个整数0 每组测试数据有一个正整数n输出如果符合条件,输出Yes,否则输出No;样例输入 2 9 10 样例输出 Y

MADE_Y 2337
上一篇: 贪心算法之——独木舟上的旅行(nyoj71)
下一篇: 贪心算法之——背包问题(nyoj106)
君只见独不见
博客等级 码龄12年 99粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值