#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "time.h"
#include "iostream"
double dist3(double x, double y, double z){
return sqrt(x*x+y*y+z*z);
}
int main() {
srand(time(0));
double R1 = 1.0;
double R2 = 0.8;
double Cx = 0.7;
double Fx=0,Fy=0,Fz=0,dFx,dFy,dFz, a, x, y, z;
int i, n, k=0;
n = 100000;
for(i = 0 ; i < n; i++){
x = float(rand())/RAND_MAX*2*R1 - R1;
y = float(rand())/RAND_MAX*2*R1 - R1;
z = float(rand())/RAND_MAX*2*R1 - R1;
if ( dist3(x,y,z)<=R1 && dist3(x,y,z)>=R2 )
{
a= dist3(x-Cx,y,z);
dFx = (x-Cx)/pow(a,3);
dFy = y/pow(a,3);
dFz = z/pow(a,3);
Fx = Fx+dFx;
Fy = Fy+dFy;
Fz = Fz+dFz;
}
}
printf("%3.3f %3.3f %3.3f\n",Fx/n,Fy/n,Fz/n);
return 0;
}