繁体   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