回答編集履歴

4

質問の追加

2020/08/20 23:54

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -43,3 +43,29 @@
43
43
  main(){puts("1\n2\n3\n4\n\n4\n3\n2\n1");}
44
44
 
45
45
  ```
46
+
47
+ **追記4**
48
+
49
+ > ソースコードの簡略化を目指しており、
50
+
51
+
52
+
53
+ お尋ねします。
54
+
55
+
56
+
57
+ ソースコードの簡略化を目指しているのなら、
58
+
59
+ なぜ `printf("%d " , i ); printf("\n" );` のように printf を 2つに分けて書くのですか?
60
+
61
+ `printf("%d\n", i);` で十分なのに。
62
+
63
+
64
+
65
+ ソースコードの簡略化を目指しているのなら、
66
+
67
+ なぜ、`for( int8_t i = -1; i > -5; i-- ) {` のように i の値を負の値にするんですか?
68
+
69
+ `for (int8_t i = 4; i > 0; i--) {` とすれば、printf も最初の forループと
70
+
71
+ 同じ形で書けるのに。

3

究極の 1行コードを追加

2020/08/20 23:54

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -33,3 +33,13 @@
33
33
  printf("%d " , (5-i)/5*5+i ); //同等の式
34
34
 
35
35
  ```
36
+
37
+ **追記3**
38
+
39
+ 究極の 1行コード
40
+
41
+ ```C
42
+
43
+ main(){puts("1\n2\n3\n4\n\n4\n3\n2\n1");}
44
+
45
+ ```

2

同等の式

2020/08/20 14:52

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -19,3 +19,17 @@
19
19
  int abs(int), printf(const char *, ...); int main() { for (int i = -5; ++i < 5; printf("%d\n"+!i+!i, 5 - abs(i))); }
20
20
 
21
21
  ```
22
+
23
+ **追記2**
24
+
25
+ > コメント分にある「同等の式」の個所を同じソースコードで記述したいのですが、
26
+
27
+
28
+
29
+ その行以外は変更しないのでしょうか? それなら、
30
+
31
+ ```C
32
+
33
+ printf("%d " , (5-i)/5*5+i ); //同等の式
34
+
35
+ ```

1

1行のコードを追加

2020/08/20 13:15

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -9,3 +9,13 @@
9
9
  int main() { for (int i = 5; --i > -5; printf("%d\n"+(2*!i), 5 - abs(i))); }
10
10
 
11
11
  ```
12
+
13
+ **追記**
14
+
15
+ 1行で書くなら、
16
+
17
+ ```
18
+
19
+ int abs(int), printf(const char *, ...); int main() { for (int i = -5; ++i < 5; printf("%d\n"+!i+!i, 5 - abs(i))); }
20
+
21
+ ```