導航:首頁 > 源碼編譯 > 演算法設計與分析期末試卷

演算法設計與分析期末試卷

發布時間:2022-10-02 20:12:00

Ⅰ 安徽工業大學 演算法設計與分析試卷

中華人民共和國教育部 頒發 的 < 國家獎學金榮譽證書> 教育部部長 簽章 !!! 另外大學 還用 水晶 做出 獎杯 刻上 人名!!!

Ⅱ 中國海洋大學研一往年演算法分析與設計期末考試試題

中國海洋大學相關信息,
可詢問學校研究生院。
只要努力付出過,
就會有收獲。

Ⅲ 演算法設計分析期末考題目,「密碼學中的演算法」設計實現單表置換密碼,能對英文和數字組成的短文進行加密

很久沒用C了,寫的比較凌亂,呵呵

#include "stdio.h"
#include "conio.h"
#define MAP_SIZE 128
#define CONTENT_SIZE 1000
#define VALID_CHAR_COUNT 62
char map[MAP_SIZE], rmap[MAP_SIZE], keymask[MAP_SIZE];
char input[CONTENT_SIZE], output[CONTENT_SIZE];
void initialize(char *array)
{
int i;
for(i = 0; i < MAP_SIZE; ++i)
{
array[i] = i;
keymask[i] = 0;
}
}
int isvalidchar(char c)
{
/*判斷字元是否字母或數字*/
return c >= '0' && c <= '9' || c >= 'a' && c <= 'z' ||c >= 'A' && c <= 'Z';
}
int convertindex(int i)
{
/*將0~61的數字轉換到轉換表中對應區段的下標
即0~9 => 數字,10~35 => 大寫字母,36~61 => 小寫字母*/
if(i < 10)
{
return i + '0';
}
i-=10;
if(i < 26)
{
return i + 'A';
}
i-=26;
if(i < 26)
{
return i + 'a';
}
}
void gen_map(char *key)
{
/*生成加密用的置換表*/
int index = 0, i;
initialize(map);
while(*key)
{
/*先將密鑰中的字元加入轉換表,並做標記*/
if(keymask[*key] == 0)
{
keymask[*key] = 1;
map[convertindex(index++)] = *key;
}
++key;
}
for(i = 0; i < MAP_SIZE; ++i)
{
/*將密鑰中未出現的字元依次加入轉換表*/
if(keymask[i] == 0 && isvalidchar(i))
{
map[convertindex(index++)] = i;
}
}
}
void gen_rmap(char *key)
{
/*生成解密用的置換表*/
int index = 0, i;
initialize(rmap);
while(*key)
{
/*先將密鑰中的字元加入轉換表,並做標記*/
if(keymask[*key] == 0)
{
keymask[*key] = 1;
rmap[*key] = convertindex(index++);
}
++key;
}
for(i = 0; i < MAP_SIZE; ++i)
{
/*將密鑰中未出現的字元依次加入轉換表*/
if(keymask[i] == 0 && isvalidchar(i))
{
rmap[i] = convertindex(index++);
}
}
}
void encrypt(char *key)
{
int i, len = strlen(input);
gen_map(key);
for(i = 0; i < len; ++i)
{
/*對每一個原文中的字元,從置換表中找到對應字元並加入輸出緩沖*/
output[i] = map[input[i]];
}
output[len] = 0;
}
void decrypt(char *key)
{
int i, len = strlen(input);
gen_rmap(key);
for(i = 0; i < len; ++i)
{
/*對每一個原文中的字元,從置換表中找到對應字元並加入輸出緩沖*/
output[i] = rmap[input[i]];
}
output[len] = 0;
}
int main()
{
char key[CONTENT_SIZE];
int opt;
while(1)
{
do
{
printf("Input 1 to encrypt, 2 to decrypt, or 0 to exit:");
scanf("%d%c", &opt);
}
while(opt != 1 && opt != 2 && opt != 0);
if(opt == 0)
{
return 0;
}
puts("Content:");
gets(input);
puts("Key:");
gets(key);
if(opt == 1)
{
encrypt(key);
}
else
{
decrypt(key);
}
puts(output);
}
}

Ⅳ 《演算法設計與分析》。求大神幫幫忙。選擇題

這個看上去就是普通的數學題吧,因為x(1)=0,根據條件可知x(2)=5,所以只有選項D符合題意。另外感覺這個題和演算法沒有太大關系。。。

閱讀全文

與演算法設計與分析期末試卷相關的資料

熱點內容
v18小電影小電影 瀏覽:962
可以用的網站在線觀看 瀏覽:411
推薦個電腦可以看電影的網站 瀏覽:331
私人影院好看的電影 瀏覽:1000
徐錦江的古裝電影 瀏覽:639
noah是什麼干什麼的app 瀏覽:61
APP雲南移動服務密碼怎麼改 瀏覽:750
鬼青春雜作少兒不宜電影 瀏覽:262
小說網站流量排行 瀏覽:457
兒童電影搞笑免費 瀏覽:109
我的世界安卓手機怎麼換號 瀏覽:504
2b2t的伺服器是什麼 瀏覽:214
主角姓秦的重生秦家的小說 瀏覽:362
php十大設計原則 瀏覽:641
怎麼能看出來哪個app有會員 瀏覽:324
艾倫演的警察五點下班什麼電影 瀏覽:646
床戲微電影 瀏覽:535
瀟湘溪苑嬌妻怕打針 瀏覽:433
泰國科幻電影機器人 瀏覽:694
十部頂級粵語電影 瀏覽:589