题目:大意是说给定两个数,让你用这两个数,随意地进行+或者-两种操作,求出最小操作数使得结果为1,当不可能达到1的时候,输出-1.
方法:明显的数论题目,相当于求出ax+by=1的解。
当两个数不互素时,得不到1的结果;
当两个数互素时,使用拓展欧几里德来求得x和y,输出abs(x)+abs(y)-1即可。
注意:这道题目的数据涉及0、1,这些数...
分类:
其他好文 时间:
2014-05-05 13:27:30
阅读次数:
339
(最近水题刷的比较多,不过还是有些收获,所以还是做个记录比较好)
http://acm.hdu.edu.cn/showproblem.php?pid=1282
分析:
题目理解起来还是简单的,基本上有两种思路:1) 将int转为string来实现; 2)直接用int做(回文串判断,相加)
第二中思路比较直接,将一个数倒置得到新的数,然后判断是否是回文数...
分类:
其他好文 时间:
2014-05-05 13:26:07
阅读次数:
276
和很多oj一样都有的经典题目,就是求阶乘的尾零有多少个。
这就不能直接求阶乘的值。而是直接求5的倍数的个数就可以了。
这个网站的数据量很大,有100000个,所以这里使用buffer,调用fread函数,可以大大加速程序。
原题:
http://www.codechef.com/problems/FCTRL
#include
unsigned facZeros(unsig...
分类:
其他好文 时间:
2014-05-05 13:24:09
阅读次数:
361
1.怎样才能避免这些未定义的求值顺序问题呢?
有几条简单的规则:
1.确保一个表达式最多只修改一个对象:一个简单变量、一个数组或者一个指针指向的位置。
2.如果一个对象在一个表达式中出现一次以上而且在表达式中被修改,则要确保对该对象的所有读访问都被用于计算它的
最终值。这条规则允许表达式i=i+1,尽管i出现了两次而且被修改了,但对i的旧值读取是用于计算i的新值。
3.如果想破坏第一条规...
分类:
编程语言 时间:
2014-05-05 13:07:05
阅读次数:
314
函数的属性length、prototype和方法call()、apply()
length指的是该函数所期望传递进来的参数个数。
function fun0(){} //0
function fun1(num1){} //1
function fun2(num1,num2){} //2
//prototype
function MyObje...
分类:
移动开发 时间:
2014-05-05 12:55:59
阅读次数:
306
今天有朋友让我帮他写一个正则表达式,要求能验证一个数学公式格式是否正确。
数学公式中有括号,变量(未知数)和运算符,而且变量是重数据库中读取的,可以任意添加和删除。
这个用一个正则表达式实现是不可能的,所以我给他写了一个函数,如下:...
分类:
Web程序 时间:
2014-05-04 12:46:33
阅读次数:
1238
1.File的用于创建目录、用于表示目录、用于创建文件、用于表示文件和用于删除文件或目录。
2.字符流:abstract class Reader和Writer操作的是文本文件
3.缓冲字符流(BufferedReader和BufferedWriter)每次读取或写入一行
缓冲流(BufferedInputStream和BufferedOutputStream)每次读取或写入一个数组的大小。
4.打印字符流属于处理流,不能和介质直接相连...
分类:
其他好文 时间:
2014-05-03 17:21:40
阅读次数:
401
By Long Luo
最近遇到一个算法题:
仿照Excel的列编号,给出一个数字,输出该列编号字符串。
例如:A对应1,Z对应26,AA对应27,AZ对应52 ......
这个题目是一个典型的26进制思路去处理,但是这个题目里面有很多陷阱,在1, 26, 52等特殊情况进行考虑,经过晚上接近1个小时的编写,完成的代码如下:
C++代码如下:
#inclu...
分类:
其他好文 时间:
2014-05-03 17:09:18
阅读次数:
344
$.方法
(1)$.merge(first, second)
合并两个数组或类数组,将第二个数组添加到第一个数组的末尾
(2)$.grep(elems, callback, invert)
使用callback对elems进行过滤,如果invert设置为true.则返回保留callback返回值为false的元素数组,如果invert设置为false则返回c...
分类:
Web程序 时间:
2014-05-03 16:37:05
阅读次数:
333
1.ZF
零标志位,执行指令后结果为0,ZF=1,否则ZF=0
2.PF
奇偶标识位,它记录相关指令执行后,其结果的所有二进制位中1的个数是否为偶数,如果是偶数,PF=1,否则PF=1。
3.SF
符号标识位,它记录相关指令执行后,其结果是否为负,如果是负数SF=1,否则,SF=0
SF是CPU对有符号数进行运算结果的一种记录,它记录数据的正负。在我们将数据当做有符号数...
分类:
其他好文 时间:
2014-05-03 16:29:20
阅读次数:
352