2)やってみたけど、sqrt使わない方法がわからない。数学詳しい人よろしく。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main(){
int i,j,s,n,m;
double v[2];
double len2;
while(1){
m=0;
scanf("%d %d", &s, &n);
srand(s);
for(i=0;i<n;i++) {
do {
for(j=0;j<2;j++) v[j] = rand();
len2 = v[0]*v[0]+v[1]*v[1];
} while(len2>RAND_MAX*(double)RAND_MAX);
if (sqrt(len2)*rand()/RAND_MAX < v[0]) m++;
}
printf("%f\n", (2.0*n)/(double)m);
}
}