質問編集履歴
2
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,14 +14,24 @@
|
|
14
14
|
#include <stdio.h>
|
15
15
|
#include <stdlib.h>
|
16
16
|
|
17
|
-
int main(int
|
17
|
+
int main(int argc, char *argv[])
|
18
|
+
{
|
18
19
|
char *a, *b, *c;
|
19
20
|
int i, n, na, nb, nc, r;
|
20
21
|
|
22
|
+
if (argc != 2) {
|
21
|
-
|
23
|
+
printf("usage: %s number_of_digits\n", argv[0]);
|
24
|
+
return 1;
|
25
|
+
}
|
26
|
+
n = atoi(argv[1]);
|
27
|
+
if (n < 1) {
|
28
|
+
puts("number of digits should be greater than 1");
|
29
|
+
return 1;
|
30
|
+
}
|
31
|
+
|
22
|
-
a = calloc(n+1, sizeof(char));
|
32
|
+
a = calloc(n + 1, sizeof(char));
|
23
|
-
b = calloc(n+1, sizeof(char));
|
33
|
+
b = calloc(n + 1, sizeof(char));
|
24
|
-
c = calloc(n+1, sizeof(char));
|
34
|
+
c = calloc(n + 1, sizeof(char));
|
25
35
|
if ((a == NULL) || (b == NULL) || (c == NULL)) {
|
26
36
|
printf("cannot allocate memory.\n");
|
27
37
|
exit(1);
|
@@ -31,28 +41,28 @@
|
|
31
41
|
b[0] = 1;
|
32
42
|
na = nb = 1;
|
33
43
|
|
34
|
-
for (; nb<=n;){
|
44
|
+
for (; nb <= n;) {
|
35
45
|
r = 0;
|
36
|
-
for (i=0; i!=nb; i++) {
|
46
|
+
for (i = 0; i != nb; i++) {
|
37
47
|
r = a[i] + b[i] + r;
|
38
48
|
c[i] = r % 10;
|
39
49
|
r = r / 10;
|
40
50
|
}
|
41
|
-
|
51
|
+
if (r == 1) {
|
42
|
-
|
52
|
+
c[i] = 1;
|
43
|
-
|
53
|
+
nc = nb + 1;
|
44
|
-
|
54
|
+
} else {
|
45
|
-
|
55
|
+
nc = nb;
|
46
|
-
|
56
|
+
}
|
47
|
-
for (i=0; i!=nb; i++) a[i] = b[i];
|
57
|
+
for (i = 0; i != nb; i++) a[i] = b[i];
|
48
|
-
for (i=0; i!=nc; i++) b[i] = c[i];
|
58
|
+
for (i = 0; i != nc; i++) b[i] = c[i];
|
49
59
|
na = nb;
|
50
60
|
nb = nc;
|
51
61
|
}
|
52
62
|
|
53
|
-
for (i=na-1; i>=0; i--) printf("%d", a[i]);
|
63
|
+
for (i = na - 1; i >= 0; i--) printf("%d", a[i]);
|
54
64
|
printf("\n");
|
55
|
-
|
65
|
+
|
56
66
|
free(a);
|
57
67
|
free(b);
|
58
68
|
free(c);
|
1
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,8 +9,8 @@
|
|
9
9
|
標準出力に83621143489848422977と出力されることを求めています。
|
10
10
|
|
11
11
|
### 該当のソースコード
|
12
|
-
C言語```ここに言語を入力
|
13
|
-
|
12
|
+
```C
|
13
|
+
|
14
14
|
#include <stdio.h>
|
15
15
|
#include <stdlib.h>
|
16
16
|
|
@@ -58,7 +58,8 @@
|
|
58
58
|
free(c);
|
59
59
|
|
60
60
|
return 0;
|
61
|
+
}
|
61
|
-
|
62
|
+
```
|
62
63
|
|
63
64
|
|
64
65
|
### 試したこと
|