[Sa] Следваща задача

Yordan Radunchev jordan.radunchev at gmail.com
Tue Feb 28 23:21:31 EET 2012


On Tue, Feb 28, 2012 at 07:29:18PM +0200, Vladimir Germanov wrote:
> Горе е написано (х+7)%10, а във скрипта правиш x +7%10 което мисля е
> различно... дори да се промени срипта на
> for i in {0..9}; do echo "$((($i+7)%10)) >  $i > $((($i-7)%10))"; done
> 7 >  0 > -7
> 8 >  1 > -6
> 9 >  2 > -5
> 0 >  3 > -4
> 1 >  4 > -3
> 2 >  5 > -2
> 3 >  6 > -1
> 4 >  7 > 0
> 5 >  8 > 1
> 6 >  9 > 2
> Което е същото което получавам и аз по горе

В бързината съм омазал.

Когато резултатът е по-малък от 0, трябва да се прибави 10, за да се върне в обхвата 0-9 
както е условието, иначе е извън него, а няма машина номер -7 или -1...

0 - 7 = -7 + 10 = 3 % 10 = 3

Верния скрипт:

for i in {0..9}; do echo "$(((10+$i-7)%10))>$i>$((($i+7)%10))";done

Изместваме $i с десет в първата сметка, за да получим резултат в обхвата 0-9 при mod 10 после.

0 + 10 = 10 - 7 = 3 % 10 = 3
..
9 + 10 = 19 - 7 = 12 % 10 = 2

поздрави,
yra
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.ludost.net/pipermail/sa/attachments/20120228/0ee872a0/attachment.pgp>


More information about the Sa mailing list