1、從鍵盤輸入求2的n次方
**:
/*編寫程式,求2的n次方 (mod 5)
n為正整數,由使用者輸入,
對應每個輸入,輸出乙個整數, 求2的n次方 (mod 5)的結果
*/ #includeusing namespace std;
int main()
return count;
}int main()
;struct index_of_firstletter
;offsets move[8] = ;
char graph[maxlen][maxlen] =
;bool test(string str , int t_rows , int t_cols , int d)
str.erase(0 , 1);
} return 1;
}void find(string str , int rows , int cols)
} system("pause");
exit(1);
}int main()
for(int i = 0; i < maxlen; i++)
); }
} }for(int i = 0; i < vs.size(); i++)
return 0;
}
執行://
4、中位數
**:
#include #include #include #include #include #include using namespace std;
void generate_vector(vector& , const long long& );
int main()
}
執行:
5、字串全排列-遞迴
**:
/*
方法一:求字串a的全排列,可以分解為求a的全排列,對於a的每乙個全排列結果,
只要將a[n]插入到a序列的n個位置中,即可得到a的全排列結果。
例如:求abc的全排列,可以先求ab的全排列,再將c插入到第0,1,2位即可得到abc的全排列,
而對於ab的全排列,可以先求a的全排列,再將b插入到第0,1位即可得到ab全排列結果,
因為a是單個字元,它的全排列結果只有乙個:a,所以遞迴開始返回,層層向上,得到abc的全排列的解。
總結:這是基於插入操作的演算法!
方法二:用123來示例下。123的全排列有123、132、213、231、312、321這六種。
首先考慮213和321這二個數是如何得出的。顯然這二個都是123中的1與後面兩數交換得到的。
然後可以將123的第二個數和每三個數交換得到132。同理可以根據213和321來得231和312。
因此可以知道——全排列就是從第乙個數字起每個數分別與它後面的數字交換。
*/#includeusing namespace std;
#include//assert巨集的原型定義在中,其作用是如果它的條件返回錯誤,則終止程式執行
int permutation(char* pstr, char* pbegin)
{ assert(pstr && pbegin);
if(*pbegin == '\0')
cout執行:
位資料結構實現
include 2 3 define n 100000004 define bitsperword 325 define shift 56 define mask 0x1f7 8 int arr 1 n bitsperword 9 10 整個程式的思想就是 11 1.每個整數有32位,那麼它就可以表...
資料 結構 遞迴
遞迴不一定非要像斐波拉契數列一樣在return中呼叫函式 遞迴的結束條件就是初始條件值 通常的方法將遞迴呼叫放在if語句中 n!通過遞迴實現 常用方法還是通過while實現 def jiecheng n if n 0 return 1 else sum n jiecheng n 1 右邊只有階乘表示...
資料結構 遞迴
所謂遞迴,就是在乙個函式,過程,或者資料結構的內部,又直接或間接出現定義本身的應用。在以下三種情況中,常常使用遞迴。比如階乘函式,我們能夠將其分解成幾個小問題來求解,比如求5!我們可以先求4!想求4!先求3!這樣一步步使問題簡化的方法,稱之為分治法。採取分治法求解,需要滿足下面三個條件 1.能夠將乙...