摘要: 思考以下程序的输出:int main(){ unsigned i; for(i=9;i>=0;i--) { printf("%u ",i); } system("pause"); return 0;}咋一看,这题简单的不能再简单!很多读者会不假思索回答:9 8 7 6 5 4 3 2 1... 阅读全文
posted @ 2012-11-07 21:40 吉大依恋 阅读(234) 评论(0) 推荐(0) 编辑
摘要: int main(){ int i=-20; unsigned j=10; cout<<i+j<<endl; system("pause"); return 0;}输出结果:4 294 967 2862^32-10=4 294 967 296-10=4 294 967 286两个兼容的不同类型的操作,哪个能表示更大的数就转为哪个类型。例如short+long,就要转为long;unsigned+signed,就要转为unsigned。在32位机上unsignedint最大可表示2^32-1int最大可表示2^31-1这样int就转为了unsigned 阅读全文
posted @ 2012-11-07 20:43 吉大依恋 阅读(5482) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-11-07 19:25 吉大依恋 阅读(2) 评论(0) 推荐(0) 编辑
摘要: #includeusing namespace std;//method1/*最直接的方法就是对src进行循环移位,再进行字符串包含的判断,从而遍历其所有的可能性。时间复杂度为O(N^2)*/bool isContain(char* src,char* des){ int len=strle... 阅读全文
posted @ 2012-11-07 14:38 吉大依恋 阅读(215) 评论(0) 推荐(0) 编辑
摘要: #include #include using namespace std; int main() { int rg[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,2... 阅读全文
posted @ 2012-11-07 13:57 吉大依恋 阅读(309) 评论(0) 推荐(0) 编辑
摘要: #include#includeusing namespace std;//method1/*简单的办法,可以每次将数组中的元素右移一位,循环k次。不妨设k是一个非负的整数,当k为负整数的时候,右移k位,相当于左移(-k)位。左移和右移本质上是一样的。大家开始可能会有这样潜在的假设,k0;j--) ... 阅读全文
posted @ 2012-11-07 13:20 吉大依恋 阅读(232) 评论(0) 推荐(0) 编辑
摘要: #includeusing namespace std;//method1/*利用动态规划来求解。假设目标数组array[]的前i个元素中,最长递增子序列的长度为LIS[i].那么,LIS[i]=max{1,LIS[k]+1},array[i+1]>array[k],for any kA[j] &&... 阅读全文
posted @ 2012-11-07 12:35 吉大依恋 阅读(213) 评论(0) 推荐(0) 编辑
摘要: #include#define MAX 100using namespace std;int A[MAX][MAX];int PS[MAX][MAX];//method1/*最直接的方法,当然是枚举每一个矩形区域,然后再求这个矩形区域中元素的和。时间复杂度为O(N^2 * M^2 * Sum的时间复... 阅读全文
posted @ 2012-11-07 09:04 吉大依恋 阅读(402) 评论(0) 推荐(0) 编辑