-
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 進(jìn)位 (s
標(biāo)簽:
person_key
RSA
算法
上傳時間:
2013-12-14
上傳用戶:zhuyibin
-
C++完美演繹 經(jīng)典算法 如 /* 頭文件:my_Include.h */ #include <stdio.h> /* 展開C語言的內(nèi)建函數(shù)指令 */ #define PI 3.1415926 /* 宏常量,在稍后章節(jié)再詳解 */ #define circle(radius) (PI*radius*radius) /* 宏函數(shù),圓的面積 */ /* 將比較數(shù)值大小的函數(shù)寫在自編include文件內(nèi) */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的結(jié)果:%d %d %d\n", a, b, c) } 程序執(zhí)行結(jié)果: 由小至大排序之后的結(jié)果:1 2 3 可將內(nèi)建函數(shù)的include文件展開在自編的include文件中 圓圈的面積是=201.0619264
標(biāo)簽:
my_Include
include
define
3.141
上傳時間:
2014-01-17
上傳用戶:epson850
-
一元稀疏多項式計算器[加法和乘法] 問題描述: 設(shè)計一元系數(shù)多項式計數(shù)器實(shí)現(xiàn)兩個多項式間的加法、減法。 基本要求: (1) 輸入并建立多項式 (2) 輸出多項式,輸出形式為整數(shù)序列:n,c1,e1,c2,e2……cn,en,其中n是多項式的項數(shù),ci,ei分別為第i項的系數(shù)和指數(shù)。序列按指數(shù)降序排列。 (3) 多項式a和b相加,建立多項式a+b,輸出相加的多項式。 (4) 多項式a和b相減,建立多項式a-b,輸出相減的多項式。 用帶表頭結(jié)點(diǎn)的單鏈表存儲多項式。 測試數(shù)據(jù): (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3) (x+x2+x3)+0 (4) (x+x3)-(-x-x-3)
標(biāo)簽:
多項式
加法
稀疏
乘法
上傳時間:
2013-12-03
上傳用戶:561596
-
數(shù)字運(yùn)算,判斷一個數(shù)是否接近素數(shù)
A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a number in another base b, and a number in base b is a Niven number if the sum of its digits divides its value.
Given b (2 <= b <= 10) and a number in base b, determine whether it is a Niven number or not.
Input
Each line of input contains the base b, followed by a string of digits representing a positive integer in that base. There are no leading zeroes. The input is terminated by a line consisting of 0 alone.
Output
For each case, print "yes" on a line if the given number is a Niven number, and "no" otherwise.
Sample Input
10 111
2 110
10 123
6 1000
8 2314
0
Sample Output
yes
yes
no
yes
no
標(biāo)簽:
數(shù)字
運(yùn)算
上傳時間:
2015-05-21
上傳用戶:daguda
-
LCS(最長公共子序列)問題可以簡單地描述如下:
一個給定序列的子序列是在該序列中刪去若干元素后得到的序列。給定兩個序列X和Y,當(dāng)另一序列Z既是X的子序列又是Y的子序列時,稱Z是序列X和Y的公共子序列。例如,若X={A,B,C,B,D,B,A},Y={B,D,C,A,B,A},則序列{B,C,A}是X和Y的一個公共子序列,但它不是X和Y的一個最長公共子序列。序列{B,C,B,A}也是X和Y的一個公共子序列,它的長度為4,而且它是X和Y的一個最長公共子序列,因為X和Y沒有長度大于4的公共子序列。
最長公共子序列問題就是給定兩個序列X={x1,x2,...xm}和Y={y1,y2,...yn},找出X和Y的一個最長公共子序列。對于這個問題比較容易想到的算法是窮舉,對X的所有子序列,檢查它是否也是Y的子序列,從而確定它是否為X和Y的公共子序列,并且在檢查過程中記錄最長的公共子序列。X的所有子序列都檢查過后即可求出X和Y的最長公共子序列。X的每個子序列相應(yīng)于下標(biāo)集{1,2,...,m}的一個子集。因此,共有2^m個不同子序列,從而窮舉搜索法需要指數(shù)時間。
標(biāo)簽:
序列
LCS
元素
上傳時間:
2015-06-09
上傳用戶:氣溫達(dá)上千萬的
-
c語言版的多項式曲線擬合。
用最小二乘法進(jìn)行曲線擬合.
用p-1 次多項式進(jìn)行擬合,p<= 10
x,y 的第0個域x[0],y[0],沒有用,有效數(shù)據(jù)從x[1],y[1] 開始
nNodeNum,有效數(shù)據(jù)節(jié)點(diǎn)的個數(shù)。
b,為輸出的多項式系數(shù),b[i] 為b[i-1]次項。b[0],沒有用。
b,有10個元素ok。
標(biāo)簽:
多項式
曲線擬合
c語言
最小二乘法
上傳時間:
2014-01-12
上傳用戶:變形金剛
-
高精度乘法基本思想和加法一樣。其基本流程如下:
①讀入被乘數(shù)s1,乘數(shù)s2
②把s1、s2分成4位一段,轉(zhuǎn)成數(shù)值存在數(shù)組a,b中;記下a,b的長度k1,k2;
③i賦為b中的最低位;
④從b中取出第i位與a相乘,累加到另一數(shù)組c中;(注意:累加時錯開的位數(shù)應(yīng)是多少位
?)
⑤i:=i-1;檢測i值:小于k2則轉(zhuǎn)⑥,否則轉(zhuǎn)④
⑥打印結(jié)果
標(biāo)簽:
高精度
乘法
加法
基本流程
上傳時間:
2015-08-16
上傳用戶:源弋弋
-
分?jǐn)?shù)是兩個整數(shù)的比,通常表示為 (或b/a)的形式,其中b稱為分子,a稱為分母,分母不能為0。分?jǐn)?shù)在計算機(jī)中以整數(shù)或浮點(diǎn)數(shù)(有限小數(shù))的形式表示,大多數(shù)情況下都是近似表示,具有較大的誤差,例如 ,在計算機(jī)中用整數(shù)表示為0,用浮點(diǎn)數(shù)表示為0.333333。本實(shí)例就是要設(shè)計一個Fraction (分?jǐn)?shù)) 類類型,該類型的對象可以像基本類型數(shù)據(jù)一樣進(jìn)行運(yùn)算,結(jié)果仍為分?jǐn)?shù),運(yùn)算包括四則運(yùn)算,關(guān)系運(yùn)算,及求一元一次分式方程的解,輸入輸出要求按分?jǐn)?shù)方式進(jìn)行。
標(biāo)簽:
分?jǐn)?shù)
整數(shù)
上傳時間:
2016-02-18
上傳用戶:zhoujunzhen
-
編程題(15_01.c)
結(jié)構(gòu)
struct student
{
long num
char name[20]
int score
struct student *next
}
鏈表練習(xí):
(1).編寫函數(shù)struct student * creat(int n),創(chuàng)建一個按學(xué)號升序排列的新鏈表,每個鏈表中的結(jié)點(diǎn)中
的學(xué)號、成績由鍵盤輸入,一共n個節(jié)點(diǎn)。
(2).編寫函數(shù)void print(struct student *head),輸出鏈表,格式每行一個結(jié)點(diǎn),包括學(xué)號,姓名,分?jǐn)?shù)。
(3).編寫函數(shù)struct student * merge(struct student *a,struct student *b), 將已知的a,b兩個鏈表
按學(xué)號升序合并,若學(xué)號相同則保留成績高的結(jié)點(diǎn)。
(4).編寫函數(shù)struct student * del(struct student *a,struct student *b),從a鏈表中刪除b鏈表中有
相同學(xué)號的那些結(jié)點(diǎn)。
(5).編寫main函數(shù),調(diào)用函數(shù)creat建立2個鏈表a,b,用print輸出倆個鏈表;調(diào)用函數(shù)merge升序合并2個
鏈表,并輸出結(jié)果;調(diào)用函數(shù)del實(shí)現(xiàn)a-b,并輸出結(jié)果。
a:
20304,xxxx,75,
20311,yyyy,89
20303,zzzz,62
20307,aaaa,87
20320,bbbb,79
b:
20302,dddd,65
20301,cccc,99
20311,yyyy,87
20323,kkkk,88
20307,aaaa,92
20322,pppp,83
標(biāo)簽:
student
struct
score
long
上傳時間:
2016-04-13
上傳用戶:zxc23456789
-
正整數(shù)x 的約數(shù)是能整除x 的正整數(shù)。正整數(shù)x 的約數(shù)個數(shù)記為div(x)。例如,1,2,
5,10 都是正整數(shù)10 的約數(shù),且div(10)=4。設(shè)a 和b 是2 個正整數(shù),a≤b,找出a 和b
之間約數(shù)個數(shù)最多的數(shù)x。
標(biāo)簽:
正
整數(shù)
div
上傳時間:
2014-11-24
上傳用戶:gxmm