求26英文字母的粗糙度

在密码学里面:

粗糙度,表示秘闻序列中各字符分布的均匀程度

在这里插入图片描述
//图丑勿怪
代码如下:

二十六个英文字母出现的频率:

a=0.082;
b=0.015;
c=0.028;
d=0.043;
e=0.127;
f=0.022;
g=0.020;
h=0.061;
i=0.070;
j=0.002;
k=0.008;
l=0.040;
m=0.024;
n=0.067;
o=0.075;
p=0.019;
q=0.001;
r=0.060;
s=0.063;
t=0.091;
u=0.028;
v=0.010;
w=0.023;
x=0.001;
y=0.020;
z=0.001;

#include<iostream.h>

void main()
{
	double a[26];
	a[0]=0.082;
	a[1]=0.015;
	a[2]=0.028;
	a[3]=0.043;
	a[4]=0.127;
	a[5]=0.022;
	a[6]=0.020;
	a[7]=0.061;
	a[8]=0.070;
	a[9]=0.002;
	a[10]=0.008;
	a[11]=0.040;
	a[12]=0.024;
	a[13]=0.067;
	a[14]=0.075;
	a[15]=0.019;
	a[16]=0.001;
	a[17]=0.060;
	a[18]=0.063;
	a[19]=0.091;
	a[20]=0.028;
	a[21]=0.010;
	a[22]=0.023;
	a[23]=0.001;
	a[24]=0.020;
	a[25]=0.001;
	double result=0;
	double q=0;
	double k=0.038461538;  //因为显示不出来1/26的值,令k=1/26默认,k为0了
	for(int i=0;i<26;i++)
		result=result+(a[i]-k)*(a[i]-k);
	cout<<"the answer is :"<<result<<endl;
	for(i=0;i<26;i++)
		q+=a[i];
	cout<<"the number is :"<<q<<endl;
	cout<<"k="<<k<<endl;
}

就当日常记录下做了点什么吧,算是另类日记吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值