shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bulk] Re: [shell-script] projecteuler.net


From: Sidney Souza
Subject: Re: [Bulk] Re: [shell-script] projecteuler.net
Date: Wed, 12 Aug 2015 15:57:14 -0300

Complementando
Podemos fazer assim para limitar o valor máximo

limit=10; bc <<<"for(i = 0; i < $limit; i = i + 3){m3 += i}; for(j = 0; j < $limit; j = j + 5){m5 += j}; m3 + m5"
limit=10; echo "for(i = 0; i < $limit; i = i + 3){m3 += i}; for(j = 0; j < $limit; j = j + 5){m5 += j}; m3 + m5" | bc

------------------------------------------------------
http://www.politicos.org.br

2015-08-12 15:49 GMT-03:00 Sidney Souza <address@hidden>:
Ficou grande, maaaas já que é para usar o bc ☺

bc <<<"for(i = 0; i < 100; i = i + 3){m3 += i}; for(j = 0; j < 100; j = j + 5){m5 += j}; m3 + m5"
echo "for(i = 0; i < 100; i = i + 3){m3 += i}; for(j = 0; j < 100; j = j + 5){m5 += j}; m3 + m5" | bc

------------------------------------------------------
http://www.politicos.org.br

2015-08-12 15:32 GMT-03:00 Fredi Rolf Bieging address@hidden [shell-script] <address@hidden>:
 

Mais uma:

bc <<< $((seq 3 3 99; seq 5 5 99) | sort -u | paste -s -d '+')

2015-08-12 14:54 GMT-03:00 Arkanon address@hidden [shell-script] <address@hidden>:
 

A minha solução adaptada não funciona para o caso a=9. Remendei:

i=1; a=$((10**i-1)); echo $(( $(eval set {3..$a..3} {5..$a..5}; IFS=+; echo "$*") $(eval set {15..$a..15}; IFS=-; ((i>1)) && echo "-$*") ))

Em 12 de agosto de 2015 14:05, Arkanon <address@hidden> escreveu:
$ a=99; echo $(( $(eval set {3..$a..3} {5..$a..5}; IFS=+; echo "$*") $(eval set {15..$a..15}; IFS=-; echo "-$*") ))
2318

Alias, o problema pede a soma até 1000 (http://projecteuler.net/problem=1) 233168 ;-)

Legal o padrão :)

a=999999; echo $(( $(eval set {3..$a..3} {5..$a..5}; IFS=+; echo "$*") $(eval set {15..$a..15}; IFS=-; echo "-$*") ))
233333166668


Em 12 de agosto de 2015 13:43, Ultimo de Miranda address@hidden [shell-script] <address@hidden> escreveu:
 

voltei .

echo $((seq 3 3 99;seq 5 5 99)|tr '\n' '+')$(seq 15 15 99|tr '\n'
'-')"0-30"|bc

On Wed, 2015-08-12 at 12:47 -0300, Ultimo de Miranda
address@hidden [shell-script] wrote:
>
> listando os naturais abaixo de 10 , multiplos de 3 ou 5, we get 3, 5,
> 6 and 9. A soma dá 23.
>
> multiples of 3 or 5 abaixo de 100 ?
>
> Esse é o primeiro problema apresentado aqui
> https://projecteuler.net
>
> Tem varias soluções em várias linguagens mas não vi nenhuma em
> shell-script
>
> comecei isso aqui mas deu hora de almoço
>
> Será que tem futuro ?
>
> com intençao de usar bc :
>
> (seq 3 3 100;seq 5 5 100)|tr '\n' '+'
>
> somar multiplos de 3 , de 5 e depois subtrair os de 15
>
>
>
>
>




--
(o_  @arkanon  (Twitter)     __o
//\   address@hidden   _`\<,
V_/_      www.lsd.org.br  (_)/(_)
---------------------------------



--
(o_  @arkanon  (Twitter)     __o
//\   address@hidden   _`\<,
V_/_      www.lsd.org.br  (_)/(_)
---------------------------------





reply via email to

[Prev in Thread] Current Thread [Next in Thread]