Comment detail

LL Golf Hole 5 - 最上位の桁を数え上げる (Nested Flatten)
C++に対抗意識を燃やしてみたけどかてなかったorz
うーん、atoi()をstrcmp()にすればもう少し短くなる気がするんだけどうまく動かない。。
strcmp()って短い文字列は小さいと判断されると思ったのだけど気のせいかなー?

// gcc -Wall doukaku200.c

ちなみに圧縮すると↓のような感じ(113バイト?)
char s[9]={48},*t=s;
main(int ac, char* av[]){for(;atoi(s)<atoi(av[1]);(*s)++)
{puts(s);if(*s==59)*s=*(++t)=48;}}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
char s[9]={0x30},*t=s;
int main(int ac, char* av[])
{
    for(;atoi(s)<=atoi(av[1]);(*s)++)
    {
        puts(s);
        if(*s==0x39)
        {
            t++;
            *s = *t = 0x30;
        }
    }
    return 0;
}
/* EOF */
修正みすってるorz
char s[9]={0x30},*t=s;
↓
char s[9]={0x31},*t=s;

Index

Feed

Other

Link

Pathtraq

loading...