- 博客(38)
- 资源 (62)
- 收藏
- 关注
原创 利用文件哈希值进行排重的Python脚本
下载了些图片,里面有少量重复的。写了个脚本,给每个文件算SHA-256,哈希值重复的就删掉。import re, sys, os, hashlibfolder = 'C:\\XXX\\';dicFile = {}n = 0;for filename in sorted(os.listdir(folder)): path = folder + filename; sig
2013-10-20 16:19:18 2286 1
原创 求一个序列,其中任意n个数字相加不会等于该序列里的其他值,任意一个数字的倍数不等于该序列里的其他值
/* 求一个序列,要求: 1.任意n个数字相加不会等于该序列里的其他值 2.任意一个数字的倍数不等于该序列里的其他值*/#include #include #include #include #include using namespace std;string operator+(string const & s, int n){
2013-01-29 22:14:55 3213 1
原创 关闭使用某个DLL的进程
列出使用abc.dll的进程ID tasklist /m abc.dll强制关闭指定PID的进程: taskkill /f /pid 1234
2012-06-20 22:56:26 4030
原创 寻找大于2^N的最小质数
最近需要个序列,要求接近2的幂,但又不能有公因子。为免除后患,决定取大于2^N的最小质数。希望至少找到2^33次方,选用了筛法。由于需要8G以上内存,程序编译模式得选x64:(BTW:编写时发现VC++的new操作不能分配超过0x7FFFFFFF的内存,而malloc可以)// prime_sieve_cpp.cpp : 定义控制台应用程序的入口点。//#include "s
2012-06-14 23:22:00 2031
原创 打印源码自身的C++程序
思路:先写好框架。将框架转换成字符串形式。处理引号、换行:这两种字符一般 在字符串会转义,因此替换时不能直接写,要用ASCII值表示。#include using namespace std;string replace_all(string src, char tc, string const & w){ string s(src); string t(1, tc);
2012-04-30 00:28:26 1589
原创 小BUG:OpenGL无法清屏
清屏代码:glClear(GL_COLOR_BUFFER_BIT || GL_DEPTH_BUFFER_BIT);实际运行时程序背景还是随机内容,查了许久才发现把缓冲区标志位的“按位或”误写为“逻辑或”,GL_COLOR_BUFFER_BIT || GL_DEPTH_BUFFER_BIT 结果为1,不是个有效缓冲区标志位。GL_COLOR_BUFFER_BIT :0
2012-03-14 11:22:53 2987
原创 CommonLisp标识符统计
最近在尝试实现CommonLisp,想起CL的常用操作符car, cdr, defparameter之类,如果把它们改短些,输入时不就省事么?不过动手前先找准目标比较妥当,于是写了个Python脚本,统计ClozureCL、CLISP中出现的所有标识符,挑出排名靠前的看看。# 统计CommonLisp实现中,最常用的标识符及其出现的频率import string, os, sys, r
2011-11-19 10:42:33 1084
原创 100楼,2只鸡蛋
/* 100楼,2只鸡蛋,要求用最少次数确定鸡蛋可以从多高摔下而不破。 鸡蛋和楼容易被人钻牛角尖,所以换个更普通的命题来讨论下: 有M种“越来越差”的环境(编号1至M) 有N个“完全相同”的样品,样品在第i种环境下的测试结果有两种: 成功 样品完全无损 失败 样品损坏,无法再用 性质1:若样品测试第k种情况时成功,表示所有样品都
2011-11-13 15:49:55 1215
原创 察看 Glibc 的版本
周末准备试试LFS:Linux From Scratch 其中需要察看一些必备软件版本,一般软件都是 --version 但 Glibc 的版本怎样察看?搜了下:定位:locate libc.so反馈:/lib/i386-linux-gnu/libc.so.6/lib/x86_64-linux-gnu/libc.so.6/usr/lib/x86_64-linux-
2011-11-05 00:43:05 773
原创 文章阅读量
最近在自学Blender,在博里记了流水账。出乎意料,前两篇很有些阅读量。因为贴图太麻烦,第三篇换成在WORD中编辑,然后转成图片贴出。阅读量一下低了下去。一种可能是流水账只对我自己有用,网友觉得太乱,已经不准备再看了。另有种可能是周日人气低,这只需等到周一再确认即可。还有种可能是文字版的容易被搜到,容易从网上扩散开去,多次被网络爬虫访问。想个测试办法……
2011-10-30 21:52:25 1152
原创 大批量文件下载
今天碰到个问题:批量下载十几万张图片、且分散在很多网站上。迅雷、FlashGet都有导入URL列表,然后批量下载的功能。但URL上万以后,速度很慢,界面几乎无响应甚至异常退出。最大任务数才几十,不给力。而图片文件又很小,单个文件不值得再多线程下载了。所以用下载工具不合适。单下一张图片时,时间都是秒级的。系统所在SSD的IOPS大约50000,估计来几千个线程也能HOLD住。于是写了个C++
2011-10-29 23:09:11 1244
原创 MinGW和MSYS相关
想拖个网站下来,以前在FreeBSD上用过WGET,挺好。在Win上用就得找MINGW和MSYS了。MinGW现在有了安装程序,能自动下载、安装指定版本:http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/把MINGW和MSYS都装上,发现还没WGET。再到这 http://sourcefo
2011-10-29 14:16:07 1129 1
原创 Lisp 学习日志
从当当买到了《实用Common Lisp教程》(冰河译),终于有本“新”的Lisp书了。准备把学习过程中比较恼人的问题记在这里。SBCL、CLISP都只有X86版,看着Clozure CL 1.7 有Win64版,因为用的Win64,就选了CCL。尝试:(format nil "~R" (* 999999999999 9191459345899132498914589134948589
2011-10-29 01:09:12 1111
原创 Blender自学笔记 2
想要准确地从前、侧、上方观察,还可用View菜单切换:(这是2.60a的截图,几个标准视角的快捷键不是NP1、NP3、NP7,原因不明)下面是两个重要面板的快捷键:T:Tool ShelfN:Properties(在主窗口中来回按几次T、N,就知道它两管哪个面板了)Blender缺省只有一个窗口,如果想用三视图的形式观察,可以自己手动拆分。如下图,将鼠标移到窗口左下角、
2011-10-29 00:07:05 2118
原创 Blender自学笔记 1
最近想试着做个飞机模型玩,搜了下,据说Blender集成了3D 建模、动画、渲染、游戏引擎功能,类似Maya或3ds Max,但却开源、免费,正合适。准备把自学的过程记在这里。 主页:http://www.blender.org/查了下配置:http://www.blender.org/features-gallery/requirements 家里台机够产品级的标准了:i
2011-10-28 00:14:20 4858
原创 哈哈,精通C++
一说精通C++:Mentor Graphics的白胡子老大爷们:二十几年前,俺们的C++项目在集群上并行编译还得一星期,学艺不精啊Boost、Loki、Bliz++库的牛牛们:只会点儿技俩,见笑、见笑啊G++、VC++、Intel C++的团员们:只了解些底层,惭愧、惭愧啊Bjarne Stroustrup :当年只图用着爽,没想到难为了这么多苦孩子,有罪、有罪啊
2011-10-20 17:10:41 1019
原创 Oracle PL/SQL 过滤非数字字符
背景:给同事做了个报表,使用时从EXCEL、网页等向报表中拷贝查询条件(局编)。用户反映查不出数据——调查后发现用户填的局编带有空格——随手加了TRIM又有查不出数据的情况——带有全角空格——用Replace替换全角空格还有查不到,调查发现可能混有换行、EXCEL中神
2011-10-12 00:16:03 11142
原创 “钱袋年”真的823年才一次吗?
"今年的10月份有五个星期六,五个星期天,五个星期一!这样的年份每823年才有一次。这些特殊的年份叫做钱袋年!"真的823年才一次吗?小朋友们来算一下,结果多了去了:using System;namespace MoneyWeek{ class Prog
2011-10-11 14:05:17 1466
原创 删除Java源文件中全部注释的Python脚本
同事想删除一个Java项目中的全部注释(坏),让我帮忙想想办法。没找不到合适工具,就写了这个脚本,遍历指定目录,查找*.java文件,删除其中/* */之间,及// 至行末的内容。(用之前要改改其中的路径):#!D:\Python32# 过滤JAVA程序中的注释# 如果字符串中有注释符号的话会有问题。import osimport reimport io# 改这个目录
2011-10-08 14:54:46 4174 1
原创 C++,替换字符串的全部目标子串
replace_all这样常用的操作在C++却没直接提供,只好自己写个备忘。// replace all occurance of t in s to wvoid replace_all(std::string & s, std::string const & t, std::string const & w){ unsigned int pos = s.find(t), t_siz
2011-10-07 23:32:52 7694 1
原创 以字符串方式操作文件
要在大量文本文件中做查找、替换,用编辑器配合正则表达式可以,但目标子串有几十种,又不想碰AWK、SED,就写了这个非常简单的工具:读入整个文件内容,以字符串形式保存。之后可以对字符串操作。然后写到文件中。注意:1.我处理的文件都在100KB以内,所以读取函数只能对付1
2011-10-07 23:30:15 729
原创 “最大子段和”
问题:数组a,长度为s,“子段”定义为其中连续的若干个元素,求最大的子段和。(空子段的和定义为0)思路:设想正在检查第 i 个元素,已发现的最大和为m,最新选中的子段其和为 t 。当t 当t > 0时,可以加上 a[i]:增大的话可能是更好的结果,减小也不会拖累 m。
2011-10-03 00:09:05 563
原创 “数组a,长度为n(索引为0至n-1)。现要求更新数组的各个元素,使新数组的第i个元素等于原数组中除第i个元素之外各元素之积。”
问题:“数组a,长度为n(索引为0至n-1)。现要求更新数组的各个元素,使新数组的第i个元素等于原数组中除第i个元素之外各元素之积。即:a[0]变为a[1]到a[n-1]的积,a[1]变为a[0]和a[2]到a[n-1]的积,……a[n-1]为a[0]到a[n-2]的积。要求
2011-10-01 23:38:12 1906
原创 “由各种字母组成的字符串S,另外一个字母数相对少一些的字符串T,设法最快的查出是否T中的字母均在S中?”
问题:“由各种字母组成的字符串S,另外一个字母数相对少一些的字符串T,设法最快的查出是否T中的字母均在S中?”思路:判断集合A是否包含集合B,即判断其差(A-B)是否为空集。(A-B)不好算,可换为求(A -(A交B))。考虑集合的表示方面,没要求顺序,即无序集。
2011-10-01 21:04:45 1767
原创 位运算——判断整数a是否为2的正整数幂?
// 大部分位运算的技巧早在几十年前就被前辈们在有限的计算环境下“榨”出来了。// “原创”只是表示这篇文章是我所写,并非翻译或转贴,但也绝不是我“首创”。10进制中,10的幂仅有“最高”位是1,其他均为0。比如:1、10、100、100000同样,2进制中2的幂
2011-09-27 09:45:45 2656
原创 “1000瓶药水,其中至多有1瓶剧毒,小狗服完药20小时后才能判断是否中毒。现在给你10只小狗、在24小时内、通过小狗试药的方式找出哪瓶药有毒或者全部无毒”
题目:1000瓶药水,其中至多有1瓶剧毒,小狗服完药20小时后才能判断是否中毒。现在给你10只小狗、在24小时内、通过小狗试药的方式找出哪瓶药有毒或者全部无毒思路:一、“小狗服完药20小时后才能判断是否中毒”,现只有“24小时内”,那么只能试一轮。二、一轮过后,每只小狗状态有两种:生、死 把每只狗看成二进制数的一位,那么结果是个10位的二进制数,可表示2^
2011-09-27 09:10:35 7294 3
原创 实现最简单的正则表达式
/*原题:“在一篇英文文章中查找指定的人名,人名使用二十六个英文字母(可以是大写或小写)、空格以及两个通配符组成(*、?),通配符“*”表示零个或多个任意字母,通配符“?”表示一个任意字母。如:“J* Smi??” 可以匹配“John Smith” .请用C语言实
2011-09-27 08:49:18 1451
原创 位运算——判断整数a是否可被2的幂(2、4、8、16……)整除?
// 大部分位运算的技巧早在几十年前就被前辈们在有限的计算环境下“榨”出来了。// “原创”只是表示这篇文章是我所写,并非翻译或转贴,但也绝不是我“首创”。能被2^N整除(N >= 1),则a的二进制表示中,低N位全为0,因此:(a % 2) (a & 1)
2011-09-26 15:00:36 3552
原创 abcde五人打渔
“abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的分成5份,拿一份走了;然后cde都按上面的方法取鱼。问他们一共打了多少条鱼,写程序和算法 ”用倒推,极速完成。然后老毛病犯了:想看看它有多快,直到求500000组
2011-09-26 11:06:02 2857
原创 “利用值域为1到7整数的随机数发生器(均匀分布),生成均匀分布的1到10的整数。”
设random()是给定的随机数发生器。1.开始想直接 random() * 10 / 7,不行:这就是个一一映射,结果仍只有7种。2.原均值为4,设想(random() + random() + random() + random() + random() ) / 4,
2011-09-26 09:50:11 3203 3
原创 HSV色彩转RGB(JAVA版)
/* * 想构造一系列平滑过渡的颜色,用HSV颜色空间容易,用RGB较难。 * * 将色彩由HSV空间转换到RGB空间 * * h 颜色 用角度表示,范围:0到360度 * s 色度 0.0到1.0 0为白色,越高颜色越“纯” * v 亮度 0.0到1.0 0为黑色,越高越亮 */
2011-06-29 14:48:00 4591 1
原创 “腾讯服务器每秒有2w个QQ号同时上线,找出5min内重新登入的qq号并打印出来。”
#include #include #include #include #include using namespace std;void timestamp(){ time_t t = time(0); cout << ctime(&t) << endl;}// 模拟时钟class PseudoTimer{ int m_us;public: Pseud
2011-06-24 00:41:00 3908
原创 “1到10万这些数,去除2个并打乱次序,如何找出那两个数。(不准用位图)”
#include #include #include #include using namespace std;void shuffle(vector & v){ int const N = v.size(); for(int i = 0; i < N; ++i){ v[i] = i + 1; } random_shuffle(v.begin(), v.en
2011-06-24 00:40:00 2137
原创 FineReport + Tomcat + PostgreSQL
JDK 1.6.0_25 (win64) PostgreSQL 9.0.4 (win64) 注意PostgreSQL装完后提示Stack Builder,继续选pgJDBC,下载并安装JDBC驱动。 FineReport 6.5.4 Beta 装完后,改E:/FineReport/WebReport/WEB-INF/resources/datasource.xml 的权
2011-06-23 22:26:00 2569
OpenGL Programming Guide [7th Edition, 2009-07].pdf
2012-11-09
Collision Detection in Interactive 3D Environments [2004].pdf
2012-11-09
3D Game Engine Architecture
2012-11-09
Expert C Programming - Deep C Secrets [en].pdf
2012-11-09
Exceptional C++ Style
2012-11-09
Exceptional C++
2012-11-09
C++ Gotchas - Avoiding Common Problems in Coding and Design.chm
2012-11-09
Advanced Programming Language Design [Raphael A. Finkel].pdf
2012-11-09
Intel Itanium Architecture Software Developer's Manual.pdf
2012-11-09
ARM Architecture Reference Manual [DDI 0100I].pdf
2012-11-09
Professional Android 2 Application Development [1e, 2010].pdf
2012-11-09
Is Parallel Programming Hard [v20191222a # Paul E. McKenney].pdf
2020-07-02
The Unicode Standard Version 13.0 – Core Specification [2020-03].pdf
2020-06-22
Thriving in a Crowded and Changing World - C++ 2006–2020.pdf
2020-06-22
Evolving a language in and for the real world - C++ 1991-2006.pdf
2020-06-22
The Java Language Specification Java SE 14 Edition [2020-02-20].pdf
2020-06-22
The Java Virtual Machine Specification Java SE 14 Edition [2020-02-20].pdf
2020-06-22
AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java
2018-11-28
The Java Virtual Machine Specification, Java SE 7 Edition
2013-04-24
Learn You A Haskell For Great Good Mar 2011.pdf
2012-11-11
The C++ Programming Language [Special Edition, en].pdf
2012-11-08
The C++ Standard Library - A Tutorial and Reference.chm
2012-11-08
Common Lisp - The Language [Guy Steele; 1990; 2e].chm
2012-11-08
An Introduction to Programming in Emacs Lisp [3.10].chm
2012-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人