零知识证明(Zero—Knowledge Proof),是指一种密码学工具,允许互不信任的通信双方之间证明某个命题的有效性,同时不泄露任何额外信息
导数、偏导数 ,互质数,费马小定理,欧拉定理
1 导数
导数是微积分学中的重要概念,表示函数在某一点处的变化率。一元函数f(x)在点x处的导数f’(x)表示当自变量x在x处增加一个很小的量Δx时,函数值f(x)相应地增加的量Δy,即f’(x)=lim(Δx->0)(Δy/Δx)。导数是函数在某一点处的局部性质,可以刻画函数的斜率、单调性、极值、凹凸性等
f(x)= x2
函数x2 在 x = 3 处的切线斜率是 6
导数公式 (网上抄的)
ln10=loge 10, e=2.71828 ln10≈2.303
2 偏导数
多元函数降维时候的变化,比如二元函数固定y,只让x单独变化,从而看成是关于x的一元函数的变化来研究。
f(x,y)=x^2+y
x编导
y编导 = 1
3 互质数
质因数:一般地说,一个数的因数是质数,就叫做这个数的质因数。
18=2×3×3
互质数:两个或几个自然数,当它们的最大公约数是1的时候,这两个或几个数,就叫做互质数(也叫互素数)。
5和7,4和11,8和9,7、11和15,12、20和35
4 费马小定理
如果p是一个质数,而整数a不是p的倍数,则有ap-1≡1(mod p) (就是 a的p-1次数mod p 等于1)
eg:p=7 a=20 207-1= 64000000 64000000 mod 7 = 1 //用计算器算下
a=18 187-1 = 34012224 34012224 mod 7 = 1
a=9 97-1 = 531441 531441 mod 7 = 1
a=12 127-1 = 2985984 2985984 mod 7 = 1
code
package main
import (
"fmt"
"strconv"
)
func main() {
stringnum := ""
fmt.Printf("please input one prime number:")
if _,err := fmt.Scan(&stringnum);err !=nil{
fmt.Printf("input error")
return
}
primenum,err1 := strconv.Atoi(stringnum)
if err1 !=nil{
fmt.Printf("input error")
return
}
fmt.Printf("prime number:%v \n",primenum)
for ;; {
fmt.Printf("please input one integer:")
if _,err := fmt.Scan(&stringnum);err !=nil{
fmt.Printf("input erro