回答編集履歴
3
微修正
answer
CHANGED
@@ -13,12 +13,12 @@
|
|
13
13
|
int count;
|
14
14
|
|
15
15
|
void a(void) {
|
16
|
+
++count;
|
16
|
-
for(int i=0;i<n;i++) {
|
17
|
+
for(int i=0;i<n;i++) {
|
17
|
-
++count;
|
18
|
-
|
18
|
+
t++;
|
19
|
-
|
19
|
+
if(t <4) a();
|
20
|
+
}
|
20
21
|
}
|
21
|
-
}
|
22
22
|
|
23
23
|
int main() {
|
24
24
|
for (n = 1; n < 10; ++n ) {;
|
2
追記
answer
CHANGED
@@ -1,3 +1,45 @@
|
|
1
1
|
n がどこにもないのでコンパイル・エラー。
|
2
2
|
|
3
|
-
... n > 4 だったら止まらないんじゃないコレ?
|
3
|
+
... n > 4 だったら止まらないんじゃないコレ?
|
4
|
+
|
5
|
+
[修正後あらためまして]
|
6
|
+
|
7
|
+
n を増やしつつ、a()が何度呼ばれるか調べてみた。
|
8
|
+
```C
|
9
|
+
#include <stdio.h>
|
10
|
+
|
11
|
+
int t = 1;
|
12
|
+
int n = 5;
|
13
|
+
int count;
|
14
|
+
|
15
|
+
void a(void) {
|
16
|
+
for(int i=0;i<n;i++) {
|
17
|
+
++count;
|
18
|
+
t++;
|
19
|
+
if(t <4) a();
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
int main() {
|
24
|
+
for (n = 1; n < 10; ++n ) {;
|
25
|
+
t = 1;
|
26
|
+
count = 0;
|
27
|
+
a();
|
28
|
+
printf( "n= %d\t count= %d\n", n, count);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
/* 実行結果
|
33
|
+
n= 1 count= 3
|
34
|
+
n= 2 count= 6
|
35
|
+
n= 3 count= 9
|
36
|
+
n= 4 count= 12
|
37
|
+
n= 5 count= 15
|
38
|
+
n= 6 count= 18
|
39
|
+
n= 7 count= 21
|
40
|
+
n= 8 count= 24
|
41
|
+
n= 9 count= 27
|
42
|
+
*/
|
43
|
+
```
|
44
|
+
|
45
|
+
ふむ、呼ばれる回数が処理時間と比例するだろうから、計算時間量は O(n) みたいね。
|
1
加筆
answer
CHANGED
@@ -1,1 +1,3 @@
|
|
1
|
-
n がどこにもないのでコンパイル・エラー。
|
1
|
+
n がどこにもないのでコンパイル・エラー。
|
2
|
+
|
3
|
+
... n > 4 だったら止まらないんじゃないコレ?
|