【九度OJ】1038【贪心】
来源:互联网 发布:电脑软件转移工具 编辑:程序博客网 时间:2024/05/22 01:38
贪心问题,首先考虑到n的范围n≤1,000,000,10!=3628800 9!=362880,只需要考虑0到9的阶乘
从9!开始减,减到最后,若为0,则输出”YES“,否则“NO”。因为n!>0!+1!+......(n-1)! (9>=n>=0)。另外要特判n为0时,否则会输出错误。
吐槽一句,题里面前面都是没用的话。。。。有用的就那么几句
代码:
package Test1;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.StreamTokenizer;public class Test16_1038 {/** * by qr jobdu 1038 2014-8-12 * @throws IOException */public static void main(String[] args) throws IOException {//10!=3628800 9!=362880 8!=40320 0--->9StreamTokenizer st=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); //由于n的范围 最多到9! 不能重复,并且可以为0int facres[]=new int[10];facres[0]=1;for(int i=1;i<10;i++)facres[i]=facres[i-1]*i;while((st.nextToken())!=StreamTokenizer.TT_EOF){int n=(int)st.nval;if(n==0) //do not forget!!!System.out.println("NO");else{for(int i=9;i>=0;i--){if(n>=facres[i])n=n-facres[i];if(n==0)break;}if(n==0)System.out.println("YES");elseSystem.out.println("NO");}}}}
0 0
- 【九度OJ】1038【贪心】
- 九度oj 1437 贪心
- 九度OJ 1082 代理服务器 -- 贪心算法
- 九度OJ 1433 FatMouse -- 贪心算法
- 九度OJ 1433 贪心算法
- 九度OJ 1172:哈夫曼树 (贪心)
- 九度OJ 1433 FatMouse(贪心)
- 九度oj 1038
- 九度OJ 1107:搬水果 (贪心)
- 【九度OJ】:九度OJ 1050
- 【九度OJ】:九度OJ 1053
- 【九度OJ】:九度OJ 1056
- 【九度OJ】:九度OJ 1059
- 【九度OJ】:九度OJ 1206
- 九度OJ 1038 Sum of Factorials
- 九度oj-1038-Sum of Factorials
- 九度OJ 1463 贪心算法、优先队列、运算符重载之《招聘会》
- 九度oj 1504:把数组排成最小的数 (贪心)
- 详解之建造者模式
- 设计模式之组合模式
- C++设计模式之简单工厂模式(二)
- 二分查找之美:二分查找及其变体的正确性以及构造方式
- UVA - 10913Walking on a Grid(记忆化搜索)
- 【九度OJ】1038【贪心】
- poj1023
- 网上看到的一张图,销售-客户各层次关系表
- LeetCode | Gray Code(格雷码)
- 【阅读】《如何高效学习》——第一部分1
- 手机助手的那点事儿--经验之谈
- Django学习小记[1] —— Start
- SQL中的单引号和双引号
- java中多线程下载