
编程之美
三名狂客
success without applause,diligence without reward!Becoming、Cognifying、Flowing、Screening、Accessing、Sharing、Filtering、Remixing、Interacting、Tracking、Questioning、Beginning.
展开
-
编程之美---数字之魅
最近上算法课程老师要求我们阅读>这本书,我从中找出来两个简单的问题,论述解决的高效算法: 一.求二进制数中1的个数 (1)各种实现办法代码如下: /** * 计算一个byte中 1的个数 * @author ZC * */ public class A1 { //方法一 除以二操作 public static int count(int i) {原创 2016-11-29 21:17:53 · 1272 阅读 · 0 评论 -
第1章 游戏之乐 让cpu 占用率曲线听你的指挥
1.1让cpu 占用率曲线听你的指挥: 解法一:代码清单1-1 int main() { for(; ; { //CPU 一秒执行的次数 for(int i = 0; i ; Sleep(10); } return 0; } 解法二:代码清单翻译 2016-11-26 21:23:28 · 442 阅读 · 0 评论 -
第一章 游戏之乐 买书问题
一.问题 上柜的《哈利波特》平装本系列,一共有五卷。假设每一卷单独销售均需8欧元。如果读者一次购买不同的两卷,就可以扣除5%的费用,三卷则更多。假设具体折扣的情况如下: 本数 2 折扣 5% 本数 3 折扣 10% 本数 4 折扣 20%翻译 2016-11-26 21:44:45 · 402 阅读 · 0 评论 -
第一章 游戏之乐 一摞饼的排序
要求:大的在下面,小的在上面,输出颠倒过程 /****************************************************************/ // // 烙饼排序实现 // /****************************************************************/ class CPrefixSor翻译 2016-11-26 21:33:12 · 447 阅读 · 0 评论 -
第一章 游戏之乐 中国象棋将帅问题
要求只用一个变量实现一个将与帅的位置情况显示: 解法一:普遍的思维 #define HALF_BITS_LENGTH 4 // 这个值是记忆存储单元长度的一半,在这道题里是4bit #define FULLMASK 255 // 这个数字表示一个全部bit的mask,在二进制表示中,它是11111111。 #define LMASK (FULLMASK // 这个宏表示翻译 2016-11-26 21:29:01 · 447 阅读 · 0 评论 -
不要被阶乘吓到
一.阶乘是个很有意思的函数,大体的解法有这些: package com.threetop.www; //求解阶乘的方法 public class Jiechen { //方法一:递归的解法 public static int fac(int n) { int sum; if(n==0||n==1) { return 1; } s原创 2016-12-07 18:05:42 · 1548 阅读 · 0 评论 -
寻找最近点对
问题:给定平面上N个点的坐标,找出距离最近的两个点。 解法一.蛮力法(两两之间的差值都求出来)时间复杂度O(N*N) 解法二:一维情况下排序求解时间复杂度O(N*logN) 解法三:分治思想,用于一般的情况 思想如下:(1)根据水平方向的坐标把平面上的N个点分成两个部分Left和Right (2)由Min(lfet,ri原创 2016-12-13 10:47:46 · 1123 阅读 · 1 评论 -
找到符合条件的整数
问题:任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0. 解法一.一般正向思维 解法二.逆向思维:已知结果求条件 代码实现如下: // 初始化 for(i = 0; i < N; i++) BigInt[i].clear(); BigInt[1].push_back(0);翻译 2016-12-11 21:06:57 · 826 阅读 · 0 评论 -
求最大公约数
问题:求两个正整数的最大公约数。(假设两个正整数很大) 解法一.辗转相除法 Bigint gcd(Bigint x ,Bigint y) { return(!y) ? x: gcd(y,x%y); } 解法二. 移位操作加减法操作 Bigint gdc(Bigint x,Bigint y) { if(x<y) return gcd(y,x); if(y==0) re翻译 2016-12-11 20:42:24 · 486 阅读 · 0 评论 -
第一章 游戏之乐 构造数独
数独是一个历史悠久的,又特别流行的数学智力游戏,它不仅具有强烈的趣味性,而且也锻炼我们的逻辑思维能力,本人在“最强大脑”节目中也看到了这个项目。数独游戏“棋盘”是由九九八十一个小方格组成,玩家要求: 玩家在每一个方格中,分别填上1至9的任意一个数字,让整个棋盘每一列,每一行,以及每一个3*3的小矩阵中的数字都不重复. 解法一:随机生成一个完整的合法解,然后去掉一些格子中的数字。我们删除翻译 2016-11-30 21:49:58 · 652 阅读 · 0 评论 -
第一章 游戏之乐 快速找出机器故障
题目:假设一个机器只存储一个标号为ID的记录,假设每份数据保存2个备份,这样就有2个机器存储了相同的数据。其中ID是一个整数: 问题1、在某个时间,如果得到一个数据文件ID的列表。是否能够快速的找到这个表中仅出现一次的ID?即快速找出出现故障的机器存储的数据ID。 问题2、如果有两台机器死机呢?(假设同一个数据的两个个备份不会同时丢失,即列表中缺少的是两个不等的ID) 解法一原创 2016-11-27 09:55:48 · 457 阅读 · 0 评论