非官方无聊比赛:写一个最短的逆转三位数程序

题干:写一个字符数最少的合法c/c++程序,输入3位数,输出3位数的逆转。例如,输入960,输出069
要求:I类程序完全满足c/c++文档,能跑
II类程序只要能在本地跑起来就行

4 Likes

我先
I类:(cpp)88字符

#include<cstdio>
int i=3;void f(int c){i?c=getchar(),f(i--),putchar(c):0;}
main(){f(0);}

II类:(c)49字符

#define a getch()
main(){printf("%c%c%c",a,a,a);}
7 Likes

(第一个的main也用了旧式声明 x (超小声(被打死((((

以及终结比赛的APL程序:

⌽⍇0
7 Likes

c/c++啊喂x

2 Likes

放心肯定会有人用其它语言的, 所以senioria先来个比所有人都不长的 x (超小声(被打死((((((((

3 Likes
#include<cstdio>
int f(int c){int d;c?d=getchar(),f(--c),putchar(d):0;}int main(){f(3);}

这样呢x
也是88char

1 Like

这样似乎就合法c++了… ? (超小声(

单纯炫技 x (超小声(被打死(((((

#include <cstdio>
int main()
{
  auto f = [] (auto f, auto i) -> int { return i && putchar(getchar() + f(f, --i)), 0; };
  f(f, 3);
}
1 Like

草 我才想起来可以lambda

1 Like

以我的水平只能写出最粗暴(但是不简单)的程序来
我能想到的几个应该是所有会c++的人都能想出来的程序

1 Like

lambda其实为了递归码量更大… (超小声(
而且其实没想到的是可以用&&压… ? (超小声(

或者不递归的版本:

#include <cstdio>
int main()
{
    auto f = [] (auto ...xs) {
        ((xs = getchar()) && ...);
        ((putchar(xs), xs) -= ...);
    };
    f(0,0,0);
}

1 Like

抱抱揉揉揉揉揉搓搓的说… qwq… x x (超小声(
抱歉答应过的文学内容咕咕了… ;;><;; (超小声(

#include<cstdio>
int main(){char t[9];gets(t);t[0]^=t[2]^=t[0]^=t[2];puts(t);}

《关于毫无技巧的写法居然更短这一件事》
78char

1 Like

如果调用库是不是还能再短啊(((

1 Like

所以senioria给出了个 #include <|reverse> 的脑抽操作 x (超小声(被打死((((((((((((((((((((((((((

2 Likes

#include 农民工(((

最新消息: 人能跑也算能跑 x (超小声(被打死(((((((((((

2 Likes

转载

摘要

再补一个。

五六年前,某省的移动,推出了一个叫“电话小秘书”的服务。只要拨打指定号码,然后说“明天早上十点提醒我在公司跟老王开会”。第二天早上就会有短消息发过来,提醒你“早上十点跟老王在公司开会”。

初听到,我还在想,我们的语音识别技术已经这么先进了吗?

其实,实现方法跟上面的一样……

我一直在想,使用这服务的人,不在乎自己的隐私吗?

再想想,他们大概以为电话那边是电脑吧。

3 Likes

人生苦短,我用Python

唔嗯 看过 (超小声(
(sigh… x x (超小声(

print(reverse(input()))

(不管能不能跑, 反正大抵长这样 (逃 (超小声(被打死((((((

1 Like

那去帮我答疑嘛(戳侧腹