下午好,高尔夫球手,
我们今天的挑战是受XKCD漫画356和370启发的。我们将编写一个程序来计算一组电阻的电阻。预先警告说,这几乎足以应付代码挑战,但是我认为以高尔夫格式编写稍微复杂一些的程序是有一定道理的。最少的字符获胜。
计算电阻取决于以下两个公式:
- 如果电阻是串联的,则电阻是每个电阻的电阻之和
- 如果电阻是并联的,则电阻是每个电阻的电阻之和的倒数。
所以-例如:
您面临的挑战是,以最少的字符数来计算一组最多64个电阻器的电阻。对于复杂性,尤其是输入规则,我深表歉意。我试图以每种语言都可以使用的方式定义它们。
每个电阻将连接到2个或更多其他电阻。
保证输入有效,只有一个入口和一个出口点,它们将连接
网络将是串并联的,以防止需要比所展示的更多的数学运算
输入将通过文件,参数或标准输入,这取决于您的语言。
输入将由一系列换行符或正斜杠分隔的语句组成,这些语句由电阻的电阻的整数组成,并且用空格分隔电阻的一侧所连接的电阻的ID。
第一个电阻器的ID将为1,对于每个后续电阻器递增1。
开始将始终具有0的ID
最终电阻将始终具有0欧姆的电阻,并且仅在其线路中定义了连接
例如:
可以表示为
3 0
6 1
1 0
5 0
0 2 3 4
- 输出可以是stdout或文件。它可以通过以下方式之一表示:
- 一个数字,至少要保留2个小数位,后跟换行符
- 由整数(分子),正斜杠和另一个整数(分母)组成的分数,后跟换行符。分数不必为最低形式-例如4/4或10/8是可接受的。分数必须在1/100之内。完全准确没有任何好处-这是为了使没有定点或浮点运算的语言能够竞争而提供的拐杖。
我希望能涵盖所有问题。祝好运!
1 2/1 0/0 1
有效?
/
不是反斜杠。您是指“ \”还是正斜杠?