shell.txt

来自「shell小程序:十进制数字转换成二进制数字」· 文本 代码 · 共 29 行

TXT
29
字号
给出一个数,求出等于这个数的所有数的和,不重复。如5:(1,4 ) (2,3)

#!/bin/bash

# go(sum, fix_num, result)
function go()
{
    if [ `expr $1 - $2` -le $2 ]; then
    echo "$3 $1"
    return 0;
    fi
    
    go `expr $1 - $2` `expr $2 + 1` "$3 $2";
    
    go $1 `expr $2 + 1` "$3";
}

if [ $# -ne 1 ]; then
    echo "Usage: $0 sum"
    exit -1
fi

target=$1
cur=1
while [ `expr $target - $cur` -gt $cur ]; do
    go `expr $target - $cur` `expr 1 + $cur` "Result: $cur"
    let "cur=$cur+1"
done

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?