Cabric Number Problem(7)
- 惊奇的短代码(六) 最短コード222B
さらに短縮222バイト。
shinichiro_hさんのアイデアを十分に生かすために、itoaをやめてsprintfを使う方法に戻した。sprintfだと返り値が文字列の長さになっているので、3バイト短縮になる。あとはprintfの部分を2バイトほど削って、無駄なところはなくなったように思われる。
strcmp(); main(t,s,x,n){ for(;scanf("%d",&n)<n;printf(t?"Ok!! %d times\n":"No!!\n",-t)) for(t=printf("N=%d:\n",n)!=8;n%98*n%101&&--t; printf("%s-%d=%d\n",s,x,n=atoi(strrev(s))-x)) qsort(s,sprintf(s,"%d",n),1,strcmp),x=atoi(s); }
どないでしょ?