31 Jul 2011

VIM一键编译c/c++源文件[zt]




此文转载链接:http://www.vimer.cn/2009/10/11.html
具体功能如下:
具体功能如下:
1.按F5编译单个文件,支持C,C++,C#,也可以支持java。
2.获取编译器错误描述,在错误描述上回车,可以直接跳转到错误行。
先贴上代码,可以看出,我把C#相关的注释掉了,实际上C#也是支持的,只是后来由于不再做C#相关开发,有需要的朋友可以去掉注释,还是可以编译C#的。

23 Jul 2011

解决firefox下hotmail无法上传附件




hotmail无法上传附件,表现为上传那一排按钮无法点击.
解决办法:


firefox,附件组件,插件,禁用silverlight plug in即可.

21 Jul 2011

解决Word2007无法使用插入页码



在Office 2007中,如果你试图插入页码,会发现下拉菜单中的选项都是呈灰色的(见图),根本无法使用。当然,我们可以首先在Office 2003中插入页码,然后再在Office 2007中重新打开文档,但你会发现仍然无法使用页码功能,这是怎么一回事呢?

找到一个办法说跟Building Blocks.dotx文件有关,删除了也无法解决问题.

正确解决方法:
单击Word 2007的开始按钮,打开“Word选项→加载项”窗口




在“管理”下拉列表框中选择“模板”,然后单击右侧的“转到”按钮,单击“添加”按钮,找到C:\Program Files\Microsoft Office\OFFICE12\Document Parts\2052\Building Blocks.dotx这个文件,当然不要忘记将“Building Blocks.dotx”打上勾,加载后会出现在图5所示的列表框中,确认后关闭退出。



OK

16 Jul 2011

Euler Project 11 欧拉工程11



In the 20×20 grid below, four numbers along a diagonal line have been marked in red.

08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00
81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65
52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91
22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80
24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50
32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70
67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21
24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72
21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95
78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92
16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57
86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58
19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40
04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66
88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69
04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36
20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16
20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54
01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48

The product of these numbers is 26 × 63 × 78 × 14 = 1788696.

What is the greatest product of four adjacent numbers in any direction (up, down, left, right, or diagonally) in the 20×20 grid?

计算上面矩阵中横竖斜相邻的4个数的最大乘积.

Euler Project10 欧拉工程10




The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.

10以内的素数之和为2+3+5+7 = 17
计算2,000,000(两百万)以内的素数之和.
此题的要快速需要用素数筛生成素数列表,然后求和即可.
好在matlab提供了primes函数,因此可以大大省事.下面注释掉的代码使用的是循环+判断.
时间差别是巨大的: 45s对0.08s. %% Find the sum of all the primes below two million.
% ========use loop================
% Elapsed time is 45.486655 seconds.
% ans =
% 142913828922
% ========use primes=============
% Elapsed time is 0.087248 seconds.
% ans =
% 142913828922
function result = euler10()
tic;
result = sum(primes(2000000));
% a = 2:2000000;
% b = isprime(a);
% result = sum(a(b));
toc;
end

13 Jul 2011

Python tips - 模拟大数乘法



python内置了大数运算,非常方便,这是个模拟竖式乘法的小程序,可以计算任意位数乘法.

运行结果如下:

2 Jul 2011

Euler Project9 欧拉工程9



寻找和为1000的勾股数之积.

勾股数定义为: 自然数a<b<c且a^2+b^2=c^2.例如3^2+4^2=9+16=25=5^2. 所以3,4,5就是一组勾股数.

存在一组勾股数满足a+b+c=1000.请计算abc之积.