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

📄 miu.cpp

📁 用Meisell-Lehmer算法计算PI(x)
💻 CPP
字号:
////////////////////////////////////////////////////////////////////////////////////////////////
//	Miu.cpp																					  //
//  作用:用于计算函数Miu表																	  //
//	编写者:王小龙(00512087)																  //
//  完成时间:2006、5、5																	  //
////////////////////////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "stdlib.h"
#include "math.h"

// 得到Miu表(应该在主函数中建立)
//int *Miu =(int*)malloc(sizeof(int)*x_13);

void GetMiu(int *PList ,int *Miu, int a, int x_13)
{
	register int i,j,k;

	for(i=0; i<x_13 ; i++)
	{
		Miu[i]=1;						// 先把miu 表全设为1
	}

	for(i=0; i<a ; i++)					// 这里用所有的P表中的素数去筛,筛到的变号
	{
		for (j=PList[i]-1 ; j<x_13 ; j+= PList[i])	
		{
			Miu[j] *=-1;
		}
	}

	Miu[0] =1;								// 1的miu (这里是Miu[0]) 这个数设为0

	int x_16 = floor( sqrt(x_13) );

	for(i=0 ; PList[i] <= x_16 ; i++)		// 用p^2 去筛,筛到的置0
	{
		for (j= (k=(PList[i]*PList[i]))-1 ; j<=x_13 ; j+=k)		
		{
			Miu[j] *=0;
		}
	}
}

⌨️ 快捷键说明

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