質問するログイン新規登録

回答編集履歴

2

最小限の修正の追加

2020/07/31 21:12

投稿

Penpen7
Penpen7

スコア698

answer CHANGED
@@ -119,4 +119,40 @@
119
119
  return 0;
120
120
  }
121
121
 
122
+ ```
123
+ # 追記(最小限の修正)
124
+ ご質問のコードだと、平行線の間隔が1, 棒の長さが0.5になりますね。
125
+ ```C
126
+ #include <math.h>
127
+ #include <stdio.h>
128
+ #include <stdlib.h>
129
+ #include <time.h>
130
+ #define pi 3.141592
131
+ int main(void)
132
+ {
133
+ int m = 1000;
134
+ int i, j;
135
+ srand((unsigned int)time(NULL));
136
+ int randam[5][1000] = { 0 };
137
+ for (i = 0; i < 5; i++) {
138
+ for (j = 0; j < m; j++) {
139
+ randam[i][j] = rand();
140
+ }
141
+ }
142
+
143
+ for (i = 0; i < 5; i++) {
144
+ int num = 0;
145
+ for (j = 0; j < m; j++) {
146
+ double x, y;
147
+ x = (float)randam[i][j] / (RAND_MAX + 1.0); //0~1の範囲の小数点乱数
148
+ y = x + 0.5 * sin(((float)randam[i][m - j]) / (RAND_MAX + 1.0) * 2 * pi);
149
+
150
+ if (y <= 0 || 1 <= y) {
151
+ num++;
152
+ }
153
+ }
154
+ printf("result%d :%e\n", i + 1, m / (double)num);
155
+ }
156
+ return 0;
157
+ }
122
158
  ```

1

#define _USE_MATH_DEFINES追加

2020/07/31 21:12

投稿

Penpen7
Penpen7

スコア698

answer CHANGED
@@ -6,6 +6,7 @@
6
6
  - ``num``は試行するたびに0に初期化しなければなりません。
7
7
  ## コード
8
8
  ```C
9
+ #define _USE_MATH_DEFINES
9
10
  #include <math.h>
10
11
  #include <stdio.h>
11
12
  #include <stdlib.h>
@@ -54,6 +55,7 @@
54
55
 
55
56
  # 円周率を使用しない例
56
57
  ```C
58
+ #define _USE_MATH_DEFINES
57
59
  #include <math.h>
58
60
  #include <stdio.h>
59
61
  #include <stdlib.h>