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

📄 sinx.cpp

📁 sin(x)的并行程序
💻 CPP
字号:
//#include<iostream.h>
//#include<conio.h>
long f1(int n)
{
	long s;

	if(n==1||n==0) 
	s=1;
    else 
    s=n*f1(n-1);
    return s;
}
double f2(double x,int n)
{
	double s=1.0;
    for(int i=0;i<n;i++)
    s=s*x;
    return s;
}

#include <stdio.h>
#include<math.h>
#include <string.h>

//#include<conio.h>
#include "mpi.h"
int main(int argc,char *argv[])
{  
	
	int myid,size;
	double s=0;
	double sum = 0;
    
	MPI_Init(&argc,&argv);
	MPI_Comm_rank(MPI_COMM_WORLD,&myid);
	MPI_Comm_size(MPI_COMM_WORLD,&size);
	
	double x = 3.14/4;
	double sin;
    int i=myid+1;
    s=f2(-1,i-1)*f2(x,2*i-1)/f1(2*i-1);
	sin = 0;
    sin+=s;
    while(s>10e-8)
	{
	
       i=i+size;
       s=f2(-1,i-1)*f2(x,2*i-1)/f1(2*i-1);
	   sin+=s;
	}

	
    sum = sin;
	printf("myid = %d,sum = %f\n",myid,sum);
	
   
	
	 MPI_Barrier(MPI_COMM_WORLD);
	 double all_sum;
     MPI_Reduce(&sum,&all_sum,1,MPI_DOUBLE,MPI_SUM,0,MPI_COMM_WORLD);

	 if(myid == 0)
    printf("all_sum = %f\n", all_sum);
	 

	 MPI_Finalize( );
	 return(0);
}

⌨️ 快捷键说明

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