| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 778 人关注过本帖
标题:[求助]那位高手帮我做个题啊!?
只看楼主 加入收藏
yinhe0999
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-11-3
收藏
 问题点数:0 回复次数:2 
[求助]那位高手帮我做个题啊!?

在下请求各位高手帮我做作一道题吧!不胜感激

2x1+3x2+5x3=5

3x1+4x2+7x3=6

x1+3x2+3x3=5

这是一个3元方程组!

要求显示:

1、增广矩阵

2、消元以后的增广矩阵

3、方程组的解

谢谢各位高手的帮忙

[此贴子已经被作者于2004-11-04 17:37:52编辑过]

搜索更多相关主题的帖子: 不胜感激 方程组 
2004-11-03 21:25
lgwlgwlgw
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2004-11-3
收藏
得分:0 

不知道在哪里发言,只能回复,所以搭车求助一下。。。。

向编程高手和数学高手求助!(此贴请随意转贴)

向编程高手和数学高手求助!(此贴请随意转贴)

小弟在德国念书,教授出了一道加解密题目,关于“Vigenère-Cipher”问题,即维琼内尔密码法,用C语言编写相关内容。

命题:已知密文为“WGPKYKVRYTHHDXSL”,密钥长短和内容不知,知道明文包含字符“SIND”,选择合适的办法猜解出密钥。用C语言编写该程序。

(小弟问了同学,说可以用穷举法,如a,b,c...aa,ab,ac...aaa,aab,aac...等等一一尝试下去,可小弟c编程快忘光了,一时间也拣不起来了,所以请各位高人帮忙,写个程序,谢谢。)附上2则附录,有需要了解此加密机制和编程辅助的可以参看。

附录1:“维琼内尔密码法”的加密原理。 附录2:“维琼内尔密码法”的加密过程C语言程序,小弟改写的,经编译和验证正确。

****************************************************************

附录1:維瓊內爾密碼法是由多套的單套字母替代式密碼法所組成,讓我們先觀察一下表一:維瓊內爾最上面一行的小寫字母是明文字母,接著下面的是二十六套密碼字母,每套都是將它前套字母向後挪移一位。每個密匙字母都對應著與它同行的一行密文字母。每一行密文字母與最上面一行的明文字母就組成凱撒密碼的一張換字表,一共有26行密文字母,因此有26張換字表,它們分別代表“後移1位”、“後移2位”……“後移26”的凱撒密碼。

例如,現在要用HOUSE為鑰匙字,順序依著H、O、U、S、E去加密明文New Generation,得出的就是經維瓊內爾密碼法加密過的密文(詳參後表)。简而言之就是(明文+密钥)再与26求模=密文了。

鑰匙字 H O U S E H O U S E H O U 明文 n e w g e n e r a t i o n 密碼文 U S Q Y I U S L S X P C H

可以看出,在明文中,同樣是n,可同時被加密成U及H兩個字,而在密文中,同樣是S,卻分別代表著e及a兩個字。這樣,便很大程度上消除了單套字母替代式密碼法面對頻率分析法的威脅,從而變得非常難以攻破,一直維持了三百多年。

它的数学模型是:

ZG = ZK + ZS mod 26 例如: 密钥: C O D E C O D E C O D E C O D E ZS : 2 14 3 4 2 14 3 4 2 14 3 4 2 14 3 4 明文: P O L Y A L P H A B E T I S C H ZK : 15 14 11 24 0 11 15 7 0 1 4 19 8 18 2 7 ZG : 17 2 14 2 2 25 18 11 2 15 7 23 10 6 5 11 密文: R C O C C Z S L C P H X K G F L

图片附件: 游客没有浏览图片的权限,请 登录注册

**************************************************************** 附录2:加密过程的C程序

#include<stdio.h>

main() {

int n=0,i=0,j=0,k=0; char word_s[27]="abcdefghijklmnopqrstuvwxyz", passwd[129],message[257]; char *word=word_s,*p=passwd,*m=message; printf("cleartext : "); scanf("%s",m); printf("Keyword : "); scanf("%s",p); printf("codetext : ");

while(p[n]!='\0') { n=n+1; } while(m[i]!='\0') { while(p[i%n]!=word[j]) { j=j+1; } while(m[i]!=word[k]) { k=k+1; }

printf("%c",word[(j+k)%26]); i=i+1; j=0; k=0;

}

return 0;

}

[此贴子已经被作者于2004-11-03 22:46:38编辑过]

2004-11-03 22:42
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
Vigenere密码其实就是个多码表的凯撒密码,先算得重合指数,再估算出密匙长度。Vigenere密码明文中的相同字母在密文中不会对应相同的字母。但两个相同字母序列间隔正好是密钥长度的倍数时,也可能产生相同的密文序列,查找重复出现的字母序列求其长度。

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-11-04 12:00
快速回复:[求助]那位高手帮我做个题啊!?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016437 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved