⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 n(0,3.6).cpp

📁 这两个代码原理差不多
💻 CPP
字号:
#define N 100000
#define DIV 45                            /*从-9到+5等分35个区间,间距为0.4*/
#define SPACING DIV*0.4
#define MEAN 0
#define VARIANCE 1.8974
#include "math.h"
#include "stdio.h"
main()
{
	

	unsigned int M,C,x,i;
	int j;
	double y[N],mid[100],m,n,normal;
	static int z[100]={0,0};
	
	FILE *fp1,*abscissa1,*ordinate1;
	fp1=fopen("result1.txt","a");
	abscissa1=fopen("abscissa1.txt","a");
	ordinate1=fopen("ordinate1.txt","a");
	normal=-6.0;
	M=(unsigned)pow(2,31)-1;
	C=(unsigned)pow(7,5);
	printf("Please input the initial value x(x>0, integer)");
	scanf("%d",&x);
    printf("M=%d\nC=%d\nx=%d\n\n",M,C,x);
	for(i=1;i<N;i++)
	{
		x=(C*x)%M;
		y[i]=((double)x)/M;
		normal=normal+y[i];
		if(i%12==0)
			{
				normal=VARIANCE*normal+MEAN;
					for(j=-22;j<DIV-22;j++)
						{
							m=SPACING/DIV*j+0.1;
							n=SPACING/DIV*(j+1)+0.1;
								if(normal>=m && normal<=n)
									z[j+22]=z[j+22]+1;	
							mid[j+22]=(m+n)/2;
							
						}
				fprintf(fp1,"%35.4f\n",normal);
				normal=-6.0;
			}
	}
	printf("\n\n\n");
	for(j=0;j<DIV;j++)
		printf("z[%d]=%d\n",j,z[j]);
	         
	for(j=0;j<DIV;j++)
		{
			printf("\n\n%f\t-->\t%f",mid[j],0.163*z[j]/z[22]);
			fprintf(abscissa1,"%f\n",mid[j]);
			fprintf(ordinate1,"%f\n",0.163*z[j]/z[22]);
		}
	printf("\n\n");
fclose(fp1);
fclose(abscissa1);
fclose(ordinate1);

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -