
编程之美
文章平均质量分 55
_王川
屌丝程序员
展开
-
编程之美:让CPU占用率曲线听你指挥
题目:写一个程序,让用户来决定Windows任务管理器的CPU占用率。程序越精简越好。例如可以实现下面三种情况:1、CPU的占用率固定在50%,为一条直线2、CPU占用率为一条直线,但是具体占用率由命令行参数决定(参数范围1~100)3、CPU占用率状态是一个正弦曲线。用到一些API函数:1、Sleep()2、WaitForSingleObject()//自己停原创 2014-03-01 20:59:45 · 1304 阅读 · 0 评论 -
编程之美
第一章 游戏之乐——游戏中碰到的题目编程之美:让CPU占用率曲线听你指挥编程之美:中国象棋将帅问题第二章 数字之魅——数字中的技巧第三章 结构之法——字符串及链表的探索第四章 数学之趣——数学游戏的乐趣原创 2014-03-01 21:57:48 · 1539 阅读 · 0 评论 -
编程之美:找符合条件的整数
问题描述:任给正整数N,求最小正整数M,使得N*M的十进制表示形式里只含1和0#include #include using namespace std;#define MAX 1007vector> BigInt(MAX);int main(){ int N=99; for(int i=0;i<N;i++) BigInt[i].clear(); BigInt[原创 2014-03-14 22:30:52 · 1192 阅读 · 0 评论 -
编程之美:最大公约数问题
/*最大公约数*/#include /*方法1:辗转相除缺点:对于大整数,取模运算开销大*/int gcd(int x,int y){ return y==0?x:gcd(y,x%y);}/*方法2:缺点:迭代次数过多*/int gcd2(int x,int y){ if(x<y) return gcd2(y,x); return y==0?x:gcd2(原创 2014-03-14 21:26:14 · 1140 阅读 · 0 评论 -
编程之美:1的数目
问题1描述:求1~N十进制中1的数目f,f(12)=5#include typedef long long LL;LL Sum1s(LL n){ LL iCount=0; LL iFactor=1; LL iLowerNum=0; LL iCurrNum=0; LL iHigherNum=0; while(n/iFactor!=0){ iLowerNum = n原创 2014-03-14 21:07:37 · 1104 阅读 · 0 评论 -
编程之美:不要被阶乘吓倒
问题1描述:给定整数N,N求N!末尾有几个0。例如N=10,N!=3628800,N!末尾有两个0分析:一、将N!分解质因数,N!=(2^x)*(3^y)*(5^z)......,由于10=2*5,所以问题也就是求M=min(x,z),容易看出x大于等于z,所以也就是求z#include int main(){ int N=10; int ret=0; for原创 2014-03-14 20:23:00 · 1188 阅读 · 0 评论 -
编程之美:NIM(1)一排石头的游戏
题目大意:N块石头排成一行,两个玩家依次取石头,每个玩家可以取其中任意一块或者相邻的两块,最后能将剩下的石头一次取光的玩家获胜。分析:1、N=1、N=2,必胜2、N=3,先取者取中间1块石头,左右还剩下各1块石头,无论第二个人怎么取,己方必胜3、N=4,先取者取中间2块石头,还是左右各剩一块,己方必胜4、N>4时,先取者只要取中间的元素,N为奇数取中间一个,偶数取中间两个,原创 2014-03-05 21:10:08 · 2126 阅读 · 3 评论 -
编程之美:饮料供货
题目大意:水房能容纳饮料的总量是V,有一批饮料,每种饮料单个容量都是2的方幂,每种饮料信息如下:(Si,Vi,Ci,Hi)分别对应(名字,容量,满意度),求在满足总容量等于V的情况下,求满意度的最大值。分析:1、动态规划解法,不难看出这是一道完全背包问题具体思路解法见:第七章 背包问题——完全背包2、动态规划法的变形:备忘录法#include #include usin原创 2014-03-04 21:58:55 · 2078 阅读 · 2 评论 -
编程之美:高效率地安排见面会
题目大意:有n个学生参加见面会,分别对m个研究组中的若干个感兴趣,为了满足所有学生的要求,每个学生都能参加自己感兴趣的见面会,如果每个见面会的时间为t,如何安排才能使得所有见面会的总时间最短?分析:先建立模型,将m个见面会看成点,如果有一位同学同时对两个小组感兴趣,就在这两个小组对应的点间加上一条边。不难看出,构造出这样一幅图后,问题转化成求图的最少着色问题。见:第五章 图着色问题原创 2014-03-05 14:54:04 · 1288 阅读 · 0 评论 -
编程之美:小飞的电梯调度算法
题目大意:有一部电梯,有n个人要上楼,但是电梯只在一层停,所以难免有人出电梯后要下楼或者上楼,求电梯在那层停可使所有乘客所爬楼层最少?分析:1、枚举法,时间复杂度O(n^2)2、假设电梯停在第i层,算出所哟乘客共要爬楼的层数是Y,如果有N1个乘客目的楼层在i层以下,有N2个乘客正好在i层,有N3个乘客在i层以上。如果电梯改在第i-1层停,就有所有目的地在i层及以上的乘客都需多爬一层原创 2014-03-04 22:28:03 · 1533 阅读 · 0 评论 -
编程之美:买书问题
题目描述:《哈利波特》系列书共5卷,用0,1,2,3,4表示,每一卷单独销售价格为8欧元,假设采取以下折扣:本数 折扣2 5%3 10%4 20%5 25%其中一本书只能对应一个折扣,即买两本卷一不能享受5%的优惠。分析:1、动态规划法:设F{Y1,Y2,Y3,Y4,Y5}其中Y1>=Y2>=Y3原创 2014-03-03 17:15:00 · 1032 阅读 · 0 评论 -
编程之美:一摞烙饼的排序
题目大意:有一摞大小不等的烙饼,处理方法如下:只能拿最上面的一个或n个烙饼,然后上下颠倒,问最小需要颠倒几次,才能使得烙饼从上到下有序代码有些许错误,已改正:#include #include #include #include using namespace std;/* 烙饼排序*/class cakeSort{public: cakeSort(){ m_c原创 2014-03-03 16:49:15 · 1104 阅读 · 0 评论 -
编程之美:中国象棋将帅问题
题目大意:设A表示“将”,B表示“帅”,AB均只能在各自的九宫格内移动,但是他们不能遥相对望,输出所有A、B的合法位置。要求只能使用一个变量。分析:设九宫格如下:1 2 34 5 67 8 9假设我们已知了A位置i和B位置j,那么我们判断他们合法只需要判断i%3和j%3不等即可,那么我们的工作也就是怎么样只用一个变量将A、B位置都保存起来1、可以用位的思想,用一个数中不原创 2014-03-01 21:44:19 · 1250 阅读 · 0 评论 -
编程之美:寻找最近点对
题目描述:给定N个点坐标,找出距离最近的两个点。解答:采用分治的思想。将坐标点按照x从小到大进行排序,对于x相同的点按照y从小到大排序我这里只是针对左右边界进行限界,对上下边界没有限界,若出现横坐标相同的点个数较多的情况,复杂度相对较高了。对于一般情况下,横坐标相同的情况不多时,时间复杂度可达到O(NlogN)/*寻找最近点对:*/#include #incl原创 2014-03-15 16:36:22 · 1504 阅读 · 0 评论