`
peizhiinfo
  • 浏览: 1425018 次
文章分类
社区版块
存档分类
最新评论

阶乘之和(贪心算法)

 
阅读更多

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


输入

第一行有一个整数0<m<100,表示有m组测试数据;

每组测试数据有一个正整数n<1000000;

输出

如果符合条件,输出Yes,否则输出No;

样例输入

2

9

10

样例输出

Yes

No

解题思路:

1.先求得最接近n的阶乘。

2.每次找到最接近n的阶乘后,n = n - a[i]. 之后重复查找最接近n的阶乘数(关键步骤)

3.若n == 0 则n可分解为阶乘之和,反之不能。

最优代码:

分享到:
评论

相关推荐

    《信息学竞赛宝典-基础算法》视频讲解-第8章 高精度算法

    《信息学竞赛宝典--基础算法》,人民邮电出版社 c++基础算法视频讲解---第8章 第8章 8.1.2高精度加法 8.1.6高精度数除以低精度数1 ...第06章 贪心算法 第07章 排序算法 第08章 高精度算法 第09章 搜索算法

    50个优秀经典PHP算法大集合

    │ ├── Knapsack.php 贪心算法之背包问题实现 │ └── BigSmallReplace.php Hello World 输出 Olleh Dlrow │ └── Solution.php Facebook面试题之岛屿周长算法 │ └── ...

    基于C++的五种算法实现

    利用C++完成大整数阶乘、动态规划、回溯法、分支限界、随机化算法、贪心算法的简单实现。

    常用算法代码

    | 最少找硬币问题(贪心策略-深搜实现) 23 | 棋盘分割 23 | 汉诺塔 23 | STL 中的 PRIORITY_QUEUE 24 | 堆栈 24 | 区间最大频率 24 | 取第 K 个元素 25 | 归并排序求逆序数 25 | 逆序数推排列数 25 | 二分...

    leetcode上升的温度-Algorithms-topic:聚沙成塔--OJ常用算法整理

    动态规划和贪心算法,多做几遍 12 C++ 递增栈思想,可以多看看 13 C++ 十大经典排序算法(动图演示),需要常回顾 14 C++ Medium 涉及pair(也可以字符串整数相互转换),BFS等多个知识点,多回顾 15

    leetcode答案-Tutorial_Algorithm:教程_算法

    leetcode 答案 Tutorial_Algorithm 视频课程 + 分类刷题 + 总结题解 + 回头复习 ...算法的复杂度分析。...排序算法,以及他们的区别和优化。...和 ...利用递归和迭代法解决二叉树问题。...回溯法、贪心算法、动态...回溯法、贪心算法、

    蓝桥杯python考点.pdf

    2. 算法思想:这包括一些常见的算法思想,如贪心算法、动态规划、分治 法等,以及它们在 Python 中的实现。 3. 常用数据结构:如列表、元组、字典、集合等,以及这些数据结构的基 本操作。 4. 字符串处理:这包括...

    MaxTutorial_Software_Engineering

    回溯法、贪心算法、动态规划。学习路径第一步,看最粗浅的算法知识介绍大概知识,是什么,可以干什么用,可以怎么学。信心,兴趣数据结构的知识第二步, 详细学习每个知识点并且练习每个知识点,都要对应的做题,以...

    构建大顶堆leetcode-data-structures-and-algorithms:数据结构和算法&编码访谈&LeetCode

    的阶乘 数据集合的全排列 排序 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 计数排序 基数排序 查找 有序数组的二分查找 插值查找 模糊二分查找 散列表 支持插入、删除、查找的散列表 分离链接法处理散...

    leetcode去

    算法思想 二分查找 贪心思想 双指针 排序 快速选择 堆排序 桶排序 搜寻 BFS DFS 回溯 分治 动态规划 分割整体 矩阵路径 斐波那契数列 最长递增子序列 最长公共子系列 0-1背包 斑点区间 双向编辑 其他问题 数学 ...

    leetcode-notes

    leetcode刷题笔记 数据结构 1.链表 160.链表相交 206.反转链表 92.反转链表2 2....224.基本计算器 ...贪心算法7.二叉树 105.从前序和中序遍历建造二叉树 二叉树的深度 一体二叉树 8.斐波那契 跳台阶问题

    leetcode中国-BeautyOfProgramming:本书的代码

    动态规划能否转换为贪心算法,从而提高运算速度,则是一个关键点。 1.15 构造数独 给定一个数独,通过转置、调换一组行或者一组列、互换所有的某两个数对的位置,就可以生成新的数独(只实现了调换一组行的操作)。 ...

    leetcode-CPP:力扣刷题C ++篇

    leetcode刷题笔记 从3.20起,太简单的就不记录了 数据结构 1.链表 160.链表相交 206.反转链表 ...贪心算法7.二叉树 105.从前序和中序遍历建造二叉树 二叉树的深度 一体二叉树 8.斐波那契 跳台阶问题

Global site tag (gtag.js) - Google Analytics