質問編集履歴

6

2021/01/24 01:50

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,81 +1,5 @@
1
- ```C
2
-
3
- #include <stdio.h>
4
-
5
- #define MAX 10000000
6
-
7
-
8
-
9
- struct data{
10
-
11
- int a;
12
-
13
- int b;
14
-
15
- };
16
-
17
-
18
-
19
- int c(int i){
20
-
21
- long long x,counter;
22
-
23
- counter=1;
24
-
25
- x=2*i-1;
26
-
27
- while(x!=1){
28
-
29
- if(x%2==1){
30
-
31
- x=x*3+1;
32
-
33
- counter++;
34
-
35
- }else{
36
-
37
- x=x/2;
38
-
39
- }
40
-
41
- }
42
-
43
- return counter;
44
-
45
- }
46
-
47
- int main(){
48
-
49
- int i;
50
-
51
- struct data s[MAX];
52
-
53
- for(i=1;i<MAX;i++){
54
-
55
- s[i].a=2*i-1;
56
-
57
- s[i].b=c(i);
58
-
59
- printf("i:%d %d %d\n",i,s[i].a,s[i].b);
60
-
61
- }
62
-
63
- }
64
-
65
- ```
66
-
67
- 追記の部分に関して回答いただきたいです。
68
-
69
-
70
-
71
1
  このようにコードをかいたのですが、実行するとi=56691で止まってしまいます。なぜでしょうか?
72
2
 
73
3
  下から4行目のc(i)を3など普通の整数にすると最後まで実行されました。
74
4
 
75
- 実行環境はCentOS 6系です。よろしくお願いします。
5
+ よろしくお願いします。
76
-
77
- (⇧は解決)
78
-
79
- 追記
80
-
81
- 上から2行目のMAXを1000000にするときちんと実行されるのですが、10000000と10倍にするとsegmentation faultとなって実行できません。原因を教えていただきたいです。

5

2021/01/24 01:50

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -66,6 +66,8 @@
66
66
 
67
67
  追記の部分に関して回答いただきたいです。
68
68
 
69
+
70
+
69
71
  このようにコードをかいたのですが、実行するとi=56691で止まってしまいます。なぜでしょうか?
70
72
 
71
73
  下から4行目のc(i)を3など普通の整数にすると最後まで実行されました。

4

2021/01/22 09:01

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -64,6 +64,8 @@
64
64
 
65
65
  ```
66
66
 
67
+ 追記の部分に関して回答いただきたいです。
68
+
67
69
  このようにコードをかいたのですが、実行するとi=56691で止まってしまいます。なぜでしょうか?
68
70
 
69
71
  下から4行目のc(i)を3など普通の整数にすると最後まで実行されました。

3

2021/01/22 09:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  #include <stdio.h>
4
4
 
5
- #define MAX 60000
5
+ #define MAX 10000000
6
6
 
7
7
 
8
8
 
@@ -18,7 +18,7 @@
18
18
 
19
19
  int c(int i){
20
20
 
21
- int x,counter;
21
+ long long x,counter;
22
22
 
23
23
  counter=1;
24
24
 
@@ -69,3 +69,9 @@
69
69
  下から4行目のc(i)を3など普通の整数にすると最後まで実行されました。
70
70
 
71
71
  実行環境はCentOS 6系です。よろしくお願いします。
72
+
73
+ (⇧は解決)
74
+
75
+ 追記
76
+
77
+ 上から2行目のMAXを1000000にするときちんと実行されるのですが、10000000と10倍にするとsegmentation faultとなって実行できません。原因を教えていただきたいです。

2

2021/01/22 08:59

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -69,9 +69,3 @@
69
69
  下から4行目のc(i)を3など普通の整数にすると最後まで実行されました。
70
70
 
71
71
  実行環境はCentOS 6系です。よろしくお願いします。
72
-
73
-
74
-
75
- 追記
76
-
77
- 上から2行目のMAXはいくつくらいまでなら実行できるのでしょうか?

1

2021/01/21 08:52

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -69,3 +69,9 @@
69
69
  下から4行目のc(i)を3など普通の整数にすると最後まで実行されました。
70
70
 
71
71
  実行環境はCentOS 6系です。よろしくお願いします。
72
+
73
+
74
+
75
+ 追記
76
+
77
+ 上から2行目のMAXはいくつくらいまでなら実行できるのでしょうか?