原创 正整數劃分問題(遞歸優化)

Description 將一個正整數n表示成一系列正整數的和,如: N=n1+n2+…+nk (其中n1≥n2≥…≥nk≥1, k≥1) 正整數n的一個這種表示成爲正整數n的一個劃分。 現在給出一個正整數n(80≥n≥1),求n的不同劃

原创 智能指針實例(引用計數型)

如果在多個類的實例中共享同一塊堆內存,指針的操作會相當繁瑣,一不小心就會出現野指針,試想一塊內存被其中一個指針釋放了,另外幾個對象的指針仍然指向他的情況,相當可怕!這時候就需要用帶有引用計數的智能指針管理了! 《C++ Primer》上給

原创 ubuntu下中文亂碼解決方案(全)

1、ibus輸入法 Ubuntu 系統安裝後已經自帶了ibus輸入法,在英語環境下默認不啓動。 配置ibus自動啓動可以在ubuntu系統菜單上選擇System --- Preferences --- Startup Applic

原创 擴展的歐幾里得算法

  歐幾里德算法   歐幾里德算法又稱輾轉相除法,用於計算兩個整數a,b的最大公約數。其計算原理依賴於下面的定理:   定理:gcd(a,b) = gcd(b,a mod b)   證明:a可以表示成a = kb + r,則r = a m

原创 Linux FTP命令

ftp 域名或者IP 這個命令表示試圖連接某域名或者IP的FTP服務器,如果成功連接上,就會要求輸入FTP用戶名和密碼。 ftp> help 連接上FTP服務器後,鍵入help就會列出所有的FTP命令。 ftp> ls 此命

原创 青蛙的約會解題報告(轉)

那麼什麼是線性同餘方程?對於方程:ax≡b(mod   m),a,b,m都是整數,求解x 的值。 解題例程:pku1061 青蛙的約會 解題報告 符號說明:                   mod表示:取模運算            

原创 C語言複習筆記

#1 關於指針 int *ptr; //指向int類型變量的指針 char *ptr; //指向char類型變量的指針 int **ptr; //指向指向int類型變量的指針變量的指針 int *ptr[3]; //有

原创 關於內存對齊的小總結

對齊規則:   1、數據成員對齊規則:結構(struct)(或聯合(union))的數據成員,第一個數據成員放在offset爲0的地方,以後每個數據成員的對齊按照 #pragma pack指定的數值和這個數據成員自身長度中,比較小的那個進

原创 關於子進程繼承父進程屬性的小問題總結

今天看書,看到用fork創建子進程的一段樣例代碼: #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { pid_t pid;

原创 堆和堆棧的區別

一、預備知識—程序的內存分配 一個由c/C++編譯的程序佔用的內存分爲以下幾個部分 1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似於數據結構中的棧。 2、堆區(heap) — 一般

原创 無options選項chmod命令簡單實現

chmod命令 chmod [optins] mode file... 運行 man 2 chmod查看 chmod函數接口 int chmod(const char*path, mode_t mode); 沒有技術含量,主要是注意,在

原创 剖析程序的內存佈局

     點擊此處查看原文出處 內存管理模塊是操作系統的心臟;它對應用程序和系統管理非常重要。今後的幾篇文章中,我將着眼於實際的內存問題,但也不避諱其中的技術內幕。由於不少概念是通用的,所以文中大部分例子取自32位x86平臺的Linux和

原创 一個通用鏈表的簡單實現

最近在CSDN上看到了absurd大神的幾篇關於系統程序員成長計劃的的博文 裏面提到了關於通用鏈表實現的思想,雖然數據結構學的還行,但是真的沒寫過通用的鏈表,對封裝的認識比較淺顯! 於是乎決定實現一下,真正開始寫才發現,對我這麼個眼高手低

原创 中國剩餘定理(轉)

中國剩餘定理 擴展的歐幾里得算法 <---  線性同餘方程 <---線性同餘方程組(剩餘定理) 對於同餘方程組: x=a1 (mod m1); 1 x=a2 (mod m2); 2 方程組有一個小於m(m1,m2的最小公倍數)的非負整數解

原创 缺少公鑰問題的解決方法(gpg: 無法檢查簽名:找不到公鑰)

本文來自ChinaUnix博客,如果查看原文請點: http://blog.chinaunix.net/u3/96583/showart_1976186.html 症狀:代碼:sudo apt-get update W: GPG err