iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0

今天不聊戰爭,今天來講講 CodeGolf 。

CodeGolf (程式高爾夫)是一種程式競賽,但有別於一般的演算法比賽,他題目通常比較簡單,而且題目要求的也不是程式執行的「效率」,而是程式碼的字數越少越好,沒錯,你沒有聽錯,這個比的是誰的字數最少,就像高爾夫追求最少桿數一樣。

所以要打Code Golf會需要學習各種語言的神秘語法糖,這樣才可以節省字數,比如前篇提到的while(1){}for(;;){},使用for就可以省下一個字。

或者比如在C,全域int變數宣告時的「int」是可省略的,直接打變數名稱就會進行宣告,所以我可以這樣寫:

a;
main(){
	a = 3;
	printf("%d\n",a);
}

聽完有沒有覺得躍躍欲試啊,可以上這個網站來體驗看看,這邊我順便分享Prime Number這題我用C寫的程式碼,總共是72字,排第90名,歡迎研究看看然後試著再幫我縮減喔!

main(n,a,i){for(;++n<98;a=a?printf("%d\n",n):1)for(i=1;++i<n;a*=n%i>0);}

本期meme

https://ithelp.ithome.com.tw/upload/images/20230929/20133574XMKTqvmJpM.png


上一篇
Day14 迴圈:while or for
下一篇
Day16 我要當忍者大師
系列文
寫程式的那些宗教戰爭30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言