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

📄 n(-2,1).cpp

📁 这两个代码原理差不多
💻 CPP
字号:
#define N 100000
#define DIV 35                          /*从-8.7到+9.3等分45个区间,间距为0.4*/
#define SPACING DIV*0.4
#define MEAN -2
#define VARIANCE 1
#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 *fp,*abscissa,*ordinate;
	fp=fopen("result2.txt","w");
	abscissa=fopen("abscissa2.txt","w");
	ordinate=fopen("ordinate2.txt","w");
	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.2;
							n=SPACING/DIV*(j+1)-0.2;
								if(normal>=m && normal<=n)
									z[j+22]=z[j+22]+1;	
							mid[j+22]=(m+n)/2;
							
						}
				fprintf(fp,"%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.399*z[j]/z[17]);
			fprintf(abscissa,"%f\n",mid[j]);
			fprintf(ordinate,"%f\n",0.399*z[j]/z[17]);
		}
	printf("\n\n");
fclose(fp);
fclose(abscissa);
fclose(ordinate);

}

⌨️ 快捷键说明

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