当前位置:   article > 正文

蓝桥杯 01 串的熵_01串的熵

01串的熵

问题描述:
在这里插入图片描述
设x为出现0的次数,则1出现次数为23333333-x,最后代入公式从1开始遍历即可:

#include <bits/stdc++.h>
using namespace std;
const int all=23333333;
const double num=11625907.5798;
int main()
{
	for(double i=1;i<=all;i++)
	{
		double x=i/all;
		double y=(all-i)/all;
		double tmp=-x*log2(x)*i-y*log2(y)*(all-i);
		if(fabs(tmp-num)<=0.0001)
		{
			cout<<(long long)i<<endl;
			break;
		}
	}
	return 0;
} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

注:由于浮点数精度问题,所以只要两数相差<=0.0001就可当作相等。
结果:11027421

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/438821
推荐阅读
相关标签
  

闽ICP备14008679号