RSA算法 :首先, 找出三個數(shù), p, q, r, 其中 p, q 是兩個相異的質(zhì)數(shù), r 是與 (p-1)(q-1) 互質(zhì)的數(shù)...... p, q, r 這三個數(shù)便是 person_key,接著, 找出 m, 使得 r^m == 1 mod (p-1)(q-1)..... 這個 m 一定存在, 因為 r 與 (p-1)(q-1) 互質(zhì), 用輾轉(zhuǎn)相除法就可以得到了..... 再來, 計算 n = pq....... m, n 這兩個數(shù)便是 public_key ,編碼過程是, 若資料為 a, 將其看成是一個大整數(shù), 假設(shè) a < n.... 如果 a >= n 的話, 就將 a 表成 s 進位 (s
標簽:
person_key
RSA
算法
上傳時間:
2013-12-14
上傳用戶:zhuyibin
上下文無關(guān)文法(Context-Free Grammar, CFG)是一個4元組G=(V, T, S, P),其中,V和T是不相交的有限集,S∈V,P是一組有限的產(chǎn)生式規(guī)則集,形如A→α,其中A∈V,且α∈(V∪T)*。V的元素稱為非終結(jié)符,T的元素稱為終結(jié)符,S是一個特殊的非終結(jié)符,稱為文法開始符。
設(shè)G=(V, T, S, P)是一個CFG,則G產(chǎn)生的語言是所有可由G產(chǎn)生的字符串組成的集合,即L(G)={x∈T* | Sx}。一個語言L是上下文無關(guān)語言(Context-Free Language, CFL),當且僅當存在一個CFG G,使得L=L(G)。 *⇒
例如,設(shè)文法G:S→AB
A→aA|a
B→bB|b
則L(G)={a^nb^m | n,m>=1}
其中非終結(jié)符都是大寫字母,開始符都是S,終結(jié)符都是小寫字母。
標簽:
Context-Free
Grammar
CFG
上傳時間:
2013-12-10
上傳用戶:gaojiao1999
This routine calls the glpk library to solve a LP/MIP problem. A typical
LP problem has following structure:
[min|max] C x
s.t.
Ax ["="|"<="|">="] b
{x <= UB}
{x >= LB}
The calling syntax is:
[XMIN,FMIN,STATUS,EXTRA]=glpkmex(SENSE,C,A,B,CTYPE,LB,UB,... VARTYPE,PARAM,LPSOLVER,SAVE)
標簽:
problem
following
routine
library
上傳時間:
2014-12-01
上傳用戶:changeboy
#include<stdio.h>
#include<windows.h>
int xuanxiang;
int studentcount;
int banjihao[100];
int xueqihao[100][10];
char xm[100][100];
int xuehao[100][10];
int score[100][3];
int yuwen;
int shuxue[000];
int yingyu[100];
int c[100];
int p;
char x[1000][100]="",y[100][100]="";/*x學(xué)院 y專業(yè) z班級*/
int z[100];
main()
{
void input();
void inputsc();
void alter();
void scbybannji();
printf("--------學(xué)生成績管理-----\n");
printf("請按相應(yīng)數(shù)字鍵來實現(xiàn)相應(yīng)功能\n");
printf("1.錄入學(xué)生信息 2.錄入學(xué)生成績 3.修改學(xué)生成績\n");
printf("4.查詢學(xué)生成績 5.不及格科目及名單 6.按班級輸出學(xué)生成績單\n");
printf("請輸入你要實現(xiàn)的功能所對應(yīng)的數(shù)字:");
scanf("%d",&xuanxiang);
system("cls");
getchar();
switch (xuanxiang)
{
case 1:input();
case 2:inputsc();
case 3:alter();
/*case 4:select score();
case 5:bujigekemujimingdan();*/
case 6:scbybanji;
}
}
void input()
{
int i;
printf("請輸入你的學(xué)院名稱:");
gets(x);
printf("請輸入你的專業(yè)名稱:");
gets(y);
printf("請輸入你的班級號:");
scanf("%d",&z);
printf("請輸入你們一個班有幾個人:");
scanf("%d",&p);
system("cls");
for(i=0;i<p;i++)
{
printf("請輸入第%d個學(xué)生的學(xué)號:",i+1);
scanf("%d",xuehao[i]);
getchar();
printf("請輸入第%d個學(xué)生的姓名:",i+1);
gets(xm[i]);
system("cls");
}
printf("您已經(jīng)錄入完畢您的班級所有學(xué)生的信息!\n");
printf("您的班級為%s%s%s\n",x,y,z);
/*alter(p);*/
}
void inputsc()
{
int i;
for(i=0;i<p;i++)
{
printf("\n");
printf("--------------------------------------------------------------------------------\n\n");
printf("\t\t\t\t錄入學(xué)生的成績\n\n\n");
printf("--------------------------------------------------------------------------------\n\n");
printf("\t\t\t\t%s\n",xm[i]);
printf("\n");
printf("\t\t\t\t數(shù)學(xué):");
scanf("%d",&shuxue[i]);
printf("\n");
getchar();
printf("\t\t\t\t英語:");
scanf("%d",&yingyu[i]);
printf("\n");
getchar();
printf("\t\t\t\tc語言:");
scanf("%d",&c[i]);
system("cls");
}
}
void alter()
{
int i;/*循環(huán)變量*/
int m[10000];/*要查詢的學(xué)號*/
int b;/*修改后的成績*/
char kemu[20]="";
printf("請輸入你要修改的學(xué)生的學(xué)號");
scanf("%d",&m);
for (i=0;i<p;i++)
{
if (m==xuehao[i])
{
printf("%s的數(shù)學(xué)成績?yōu)?d,英語成績?yōu)?d,c語言成績?yōu)?d,xm[i],shuxue[i],yingyu[i],c[i]");
printf("請輸入你想修改的科目");}
}
gets(kemu);
getchar();
if (kemu=="數(shù)學(xué)");
{
scanf("%d",&b);
shuxue[i]=b;}
if (kemu=="英語");
{
scanf("%d",&b);
yingyu[i]=b;}
if (kemu=="c語言");
{
scanf("%d",&b);
c[i]=b;
}
printf("%s的數(shù)學(xué)成績?yōu)?d,英語成績?yōu)?d,c語言成績?yōu)?d,xm[i],shuxue[i],yingyu[i],c[i]");
}
void scbybannji()
{
int i;
char zyname[20];
int bjnumber;
printf("請輸入你的專業(yè)名稱");
scanf("%s",&zyname);
printf("請輸入你的班級號");
scanf("%d",&bjnumber);
for (i=0;i<p;i++)
{
if (zyname==y[i]);
if (bjnumber==z[i]);
printf("專業(yè)名稱%s班級號%d數(shù)學(xué)成績%d英語成績%dc語言成績%d,y[i],z[i],shuxue[i],yingyu[i],c[i]");
}
}
標簽:
c語言
上傳時間:
2018-06-08
上傳用戶:2369043090