1
shilyx OP 在 [] 标记内加入一条语句 -> 将[]替换成一条语句
本来我发的全角符号,结果发出去成半角了。 |
2
BlackKey 2018-09-26 12:29:45 +08:00
目前想出来的最小长度是 11
|
4
besto 2018-09-26 14:01:44 +08:00
修改一下, 最短可以到 10, 910e692fdda462dde57e91a4778de7cdbf4f2090ffdebe770b90be808ed5d024
|
6
garzon 2018-09-26 14:08:08 +08:00
10,2c37e77354dad4539dde1674c773f95d73faba8e9011aaa0d864d49b7c9ed793
|
10
Ediacaran 2018-09-26 14:27:15 +08:00
3, ca877a9acb1c71ee2b0c6443ee1177c1db48c7bcc8af9a8cb2dc0938148dccf2
gcc 和 clang 都是可以的,VC 没测试 |
11
Ediacaran 2018-09-26 14:29:20 +08:00
没有输出算吗
|
12
innoink 2018-09-26 14:30:16 +08:00 via Android
哈哈,3
我想知道注释算不算要求的语句 |
13
endyul 2018-09-26 14:30:47 +08:00
6、printf 一句必须能够正常输出内容
|
14
w01230 2018-09-26 14:37:54 +08:00
先看一下,目前想出来的长度远大于 11.
|
15
chenstack 2018-09-26 14:39:12 +08:00 1
答案同#6,一开始总想着用指向自己的指针实现,结果并不行,后面才意识到能用函数,再后面才发现只用声明就能用。
|
16
pkokp8 2018-09-26 14:41:31 +08:00 via Android
}int f(){//\
我只能想到这种 |
17
chenstack 2018-09-26 14:43:16 +08:00
修改过程同#3,去掉初值只保留声明,从 15 缩减到 10
|
22
Phox 2018-09-26 14:53:54 +08:00
不应该是 9 哇? 645e319a3085376dbee5a71b8359010b1d9a035283156aa1b1323552bb0fac04
|
24
Phox 2018-09-26 14:57:11 +08:00
@Phox 另外,中规中举无告警的 15,3adb4717467d81e0f3e91e6890171320c5a7c75468176c6fac58e7d6e8e1a88b
|
25
GeruzoniAnsasu 2018-09-26 15:07:39 +08:00
这里有个不同于#4 #6 的:
无\n a1588fb5c7d40509cd82615825c32c65231d0713c81b054871bce4e8cd58c035 有\n c69b85657ed71cf4d671ef6f4b4861adef7c9019cfd547e020ac118388744412 长度 14 |
26
innoink 2018-09-26 15:08:29 +08:00
910e692fdda462dde57e91a4778de7cdbf4f2090ffdebe770b90be808ed5d024 10 开-Wall 会有警告
bf9b20a32821ab49a932547b80e122e5bf66368bea36a5cd07a76d58e81f972a 10 gcc 通过,g++通不过 还有 14 的写法,很多变化,可以完全无警告 |
30
cjw1115 2018-09-26 15:21:27 +08:00
10,2c37e77354dad4539dde1674c773f95d73faba8e9011aaa0d864d49b7c9ed793
|
31
XiaoxiaoPu 2018-09-26 15:24:15 +08:00
@Phox 哈哈,绞尽脑汁终于想到这个了。不过你的 hash 是带了换行的吧?不带换行的是 4ccce30e94240276e8312a60e59f662783a24df6f5695e65d626196d2220c764
@GeruzoniAnsasu 跟我第一次的思路一样,证明我确实想出来了,无换行的 sha1sum 是 52f9449d2dd0ef1deb042f99a8ab1ad852c667cb 另外 gcc 下 10 个字符无警告 8a62c72686689179794818bb4efe89be7e1139e6c729a71842eb6cc4bdeb42bb |
32
besto 2018-09-26 15:28:02 +08:00
|
34
besto 2018-09-26 15:40:33 +08:00
@XiaoxiaoPu 有分号且程序有输出的确实可以到 9 4ccce30e94240276e8312a60e59f662783a24df6f5695e65d626196d2220c764
|
35
ysc3839 2018-09-26 16:18:28 +08:00
9, 05f1e6c363cd142e9b72dfa47079a743ebc336670ce1bf05a06e6f4568800e38
测试结果 > cl t.c && t.exe Microsoft (R) C/C++ Optimizing Compiler Version 19.15.26730 for x64 Copyright (C) Microsoft Corporation. All rights reserved. t.c Microsoft (R) Incremental Linker Version 14.15.26730.0 Copyright (C) Microsoft Corporation. All rights reserved. /out:t.exe t.obj 00007FF78B881020 |
36
whoami9894 2018-09-26 16:32:42 +08:00
10,ptr => func
好像楼上有好几个一样的了 2c37e77354dad4539dde1674c773f95d73faba8e9011aaa0d864d49b7c9ed793 |
37
Phox 2018-09-26 16:33:19 +08:00
|
38
marvinGet 2018-09-26 16:50:09 +08:00
来个明白人结贴 说一下答案
|
39
yujincheng08 2018-09-26 17:01:51 +08:00
10, 2c37e77354dad4539dde1674c773f95d73faba8e9011aaa0d864d49b7c9ed793
|
40
hmzt 2018-09-26 17:03:58 +08:00
涨知识了,不过编译器为什么会支持这种写法,语法上完全不通
|
41
pkokp8 2018-09-26 17:12:56 +08:00 via Android
@pkokp8 又想了下,想出两种方法,不带换行 9 字符
编译器 gcc 5.4.0 第一个加-Wall 有警告,第二个默认编译参数有警告 53808d5ada17e1d087fecee8c2c18ed0d013dfd482583d04a064d418d3d84f33 4ccce30e94240276e8312a60e59f662783a24df6f5695e65d626196d2220c764 |
42
garzon 2018-09-26 18:30:11 +08:00
@pkokp8 53808d5ada17e1d087fecee8c2c18ed0d013dfd482583d04a064d418d3d84f33 这个我也得到了,然而一开始在 g++( http://cpp.sh )上编译不通过就没管,刚才试了下 gcc 竟然通过了
|
43
bp0 2018-09-26 18:37:37 +08:00
只能想出来无输出的,坐等答案。
|
44
kkeiko 2018-09-26 18:50:26 +08:00 via iPhone
11 个 642afa25aff165250678f5fa3dd07b97a335957583763e83d182ca6d8bdc8aff
|
46
where2go 2018-09-26 20:12:45 +08:00
echo -n xxxx|sha256sum -
10 无空格 2c37e77354dad4539dde1674c773f95d73faba8e9011aaa0d864d49b7c9ed793 |
47
where2go 2018-09-26 20:15:10 +08:00
echo xxxx |sha256sum -
echo 不加 -n 是这个 910e692fdda462dde57e91a4778de7cdbf4f2090ffdebe770b90be808ed5d024 - |
48
where2go 2018-09-26 20:19:07 +08:00
还有个同 #25 的 14 字节的方案, 但是我为什么要这么闲呢
|
49
where2go 2018-09-26 20:27:06 +08:00
"在 [] 标记内加入一条语句" 的意思应该是 加完语句还要保留中括号吧
|
50
wevsty 2018-09-26 20:31:13 +08:00
看了各位的回复以后我才想到的答案是 11。
另外我表示谁要是给我写出这么长的*我肯定打回去重写。 SHA256: 9540245df67cac5bdd321924dae6521872883f4c593dd96ecdb2e734b2d4347b |
51
wheeler 2018-09-26 20:55:48 +08:00
9
和#34 楼一样。 |
52
zouchtssn 2018-09-27 06:10:16 +08:00
mark
|
53
where2go 2018-09-27 09:17:31 +08:00
gcc 8.2, 这个特性应该较早就支持了
9 53808d5ada17e1d087fecee8c2c18ed0d013dfd482583d04a064d418d3d84f33 |
54
24bit 2018-09-27 11:06:36 +08:00
10 2c37e77354dad4539dde1674c773f95d73faba8e9011aaa0d864d49b7c9ed793
为什么可以这样呢? |
55
dinjufen 2018-09-27 12:18:41 +08:00
过了这么久了,可以公布下答案吗
|
56
ysc3839 2018-09-27 13:03:27 +08:00
@ysc3839 前面搞错了,正确的 sha256 是 4ccce30e94240276e8312a60e59f662783a24df6f5695e65d626196d2220c764。
|
57
co3site 2018-09-27 14:06:42 +08:00
带空格 11 位 9540245df67cac5bdd321924dae6521872883f4c593dd96ecdb2e734b2d4347b
实在想不到更短的了,楼主能广布答案了吗? |
58
shilyx OP |
59
GTim 2018-09-27 14:40:24 +08:00
楼主哪里找来的题目?
|
60
shilyx OP @GTim 我老早就意识到了这个特性,不过昨天拿出来而已。
前两天看到有个朋友发帖提问 c 语言知识点,但是他的问题都是 malloc、free,涉及到未定义行为,不是不会答,而是不好答。所以就拿这个点出来问一问。 |
62
z0z 2018-09-27 16:58:27 +08:00
昨天我差点被这道题整死
|
63
whoami9894 2018-09-27 18:18:26 +08:00 via Android
9 字符的那个…… gcc 支持闭包吗
|
64
shilyx OP @BlackKey
@besto @bfdh @garzon @Ediacaran @innoink @endyul @w01230 @chenstack @pkokp8 @Phox @GeruzoniAnsasu @cjw1115 @XiaoxiaoPu @ysc3839 @whoami9894 @marvinGet @yujincheng08 @hmzt @bp0 @kkeiko @where2go @wevsty @wheeler @zouchtssn @24bit @dinjufen @co3site @GTim @z0z 第二题到了,https://www.v2ex.com/t/493279 |
65
shilyx OP |
66
wheeler 2018-09-27 20:55:04 +08:00
@shilyx
9 #include <stdio.h> int main() { p();}p(){ printf("%p\n", **************************************************************p); return 0; } |
67
noinil 2018-09-27 22:00:50 +08:00
弱弱地问一下, 你们写的一长串字符是怎么用的啊?
|