簡體   English   中英

命令 find unix , linux

[英]Command find unix ,linux

我們編寫了一個命令,它通過標准輸入接收一個數字 n。 該命令必須將數字寫入通過連續寫入數字 1,2,3.....,n 獲得的標准輸出,在任意兩個連續數字之間交替使用 -(減法)和 +(加法)運算符,並計算這樣得到的表達式。 對於 n = 12,我們得到例如:1-2+3-4+5-6+7-8+9-1+0-1+1-1+2 = 5

$ echo 12 | ...
5
$ echo 82 | ...
 14

我們需要用代碼改變 (...) 才能得到答案。

像這樣的東西。 我正在使用 busybox awk來完成這個任務。

示例 1:

echo 12 | awk '{ for(i=1;i<=$0;++i) { len=split(i,nums,""); for(j=1;j<=len;++j) arr[++n]=nums[j] }} END { for(i=1;i<=n;++i) if(i%2==0) { r-=arr[i]} else { r+=arr[i] } print r }'

輸出:

5

示例 2:

echo 82 | awk '{ for(i=1;i<=$0;++i) { len=split(i,nums,""); for(j=1;j<=len;++j) arr[++n]=nums[j] }} END { for(i=1;i<=n;++i) if(i%2==0) { r-=arr[i]} else { r+=arr[i] } print r }'

輸出:

19

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM