- 博客(10)
- 收藏
- 关注
原创 编程之美2.8 找符合条件的整数
题目:任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0. 解决这个问题首先考虑对于任意的N,是否这样的M一定存在。可以证明,M是一定存在的,而且不唯一。简单证明:因为 这是一个无穷数列,但是数列中的每一项取值范围都在[0, N-1]之间。所以这个无穷数列中间必定存在循环节。即假设有s,t均是正整数,且s,所以 剪枝
2009-12-29 22:05:00 1338
原创 关于链表题
看完题结论就是:链表题我是害怕的,很容易被它绕晕,还伴随着递归 嗯 画图,一定要画图。 给定一单链表A1->A2->A3->......->AN, 转换为A2->A1->A4->A3->.....->AN-1(如果N是偶数),转换为A1->A3->A2->A5->A4->....->AN(如果N是奇数),要求是只能便利一遍链表。 First Think
2009-12-18 14:52:00 956 2
原创 从无头单链表中删除节点
编程之美3.4 假设有一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(非第一个节点, 也非最后一个节点)。请将该节点从单链表中删除。#include #include int array[] = {3,5,1,7,0};typedef struct Data{ int data; Data * next;} Data;Data *
2009-12-11 10:04:00 1600
转载 代码自动生成-宏带来的奇技淫巧
http://www.cppblog.com/kevinlynx/archive/2008/03/19/44828.html 代码自动生成-宏带来的奇技淫巧 Author : Kevin Lynx 众多C++书籍都忠告我们C语言宏是万恶之首,但事情总不如我们想象的那么坏,就如同goto一样。宏有 一个很大的作用,就是自动为我们产生代码。如果说模板可以为我们产生各种型别的代码(型别替换),
2009-12-11 09:24:00 575
原创 计算字符串的相似度
编程之美3.3看完题后,毫无头绪书上的解题思路很好,首先两个字符串的距离肯定是个可知数,必须小于两字符串之和。可以通过删除操作将两个串都变成空串。 书上所示的递归方法,代码敲出来了,有点点不同#include #include #include void calDistance(char *a, int aBegin, int aEnd, char * b,
2009-12-10 20:45:00 1494
原创 大整数乘法
参考:http://hi.baidu.com/operationsystem/blog/item/6e45dd1af1acadf3ae51330b.html 在计算机中,长整型(long int)变量的范围是 -2147483648 至 2147483647,因此若用长整型变量做乘法运算,乘积最多不能超过 10位数。即便用双精度型(double)变量,也仅能保证 16 位有效数字的精度。在
2009-12-10 10:13:00 1644
原创 大整数减法
算法如同小学的减法运算,不过减法相对加法而言需要注意的就是运算符,最后结果可能为负#include #include #include #define MAX_LEN 200int an1[MAX_LEN+10];int an2[MAX_LEN+10];char szLine1[MAX_LEN+10];char szLine2[MAX_LEN+10];v
2009-12-09 22:25:00 5150
原创 大整数加法
大整数加法的做法,如同小学做加法运算,从低位加至高位因为考虑的是大整数,long long放不下,因此用char数组暂存,an1[0]存放数的最低位 #include #include #include #define MAX_LEN 200int an1[MAX_LEN+10];int an2[MAX_LEN+10];char szLine1[MAX_
2009-12-09 21:31:00 12898 2
原创 电话号码对应英语单词[算法]
编程之美3.2 一堆数组刚开始把我弄晕了,其实还是看代码看的不够多造成的#include #include #define TelLength 11char c[10][5] = { "", //0 "", //1 "ABC", //2 "DEF", //3 "GHI", //4
2009-12-09 18:50:00 1633
原创 一道面试题
【来源于BYR】题目描述:任意给定两个数字A和B,通过将A和6个数(7,-7,5,-5,12,-12)做加减运算,运算次数不限,每个数可以被使用多次,求从A到B最少要经过多少次运算? 比如:A=0, B=19,从A到B的一条路径为{0,7,19},经过2次运算得到。{0, 5, 12,19}也是符合要求的一条路径,但是需要经过3次运算才可以得到。所以最少要经过2次运算才可以实现从0到19.
2009-12-01 09:27:00 552
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人