Final PC

[SFIDA]Project Euler

« Older   Newer »
  Share  
Mefrio
view post Posted on 4/1/2011, 11:54




Mi sto divertendo cercando di trovare soluzioni agli esercizi del progetto Eulero in python...per chi non lo conoscesse è un sito che propone vari esercizi di programmazione e la sfida sta nel farli in meno righe possibili

il primo problema dice:
CODICE
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.


in pratica si deve trovare la somma di tutti i numeri divisibili per 3 e 5 minori di 1000...la mia soluzione in python è
CODICE
i = 0
somma = 0
for i in range(1000):
       if i % 3 == 0 or i % 5 == 0:
               somma = somma + i
       else:
               i = i +1

print somma

provate a risolverlo anche voi, magari in un linguaggio diverso!

PS
il risultato è: 233168

in bocca al lupo ;)
 
Top
nano_sardo
view post Posted on 4/1/2011, 13:48




Proverò ;)
 
Top
Dark volcano
view post Posted on 4/1/2011, 23:22




bello, mi ricordo che avevo fatto molti esercizzi, purtroppo sono fuori esercizio dovrei ricominciare; mi ero fermato con python per imparare javascript ma non ho avuto il tempo.
domani (cioè tra meno di un ora -.-") ci dò un occhiata.
 
Top
brisingr1993
view post Posted on 5/1/2011, 13:38




C#
CODICE
int somma=0;
int num=3;
                       
while(num<1000)
{
_somma+= num%­3==0||num%­5==0 ? num:0;
_num++;
}
Console.Write(somma);
 
Top
nano_sardo
view post Posted on 6/1/2011, 17:20




CODICE
FOR NUMERO;1 TO 1000 STEP 1
{
SE NUMERO\3 = NUMERO PRIMO
}
  NUMERI = NUMERI +1
}
SE NUMERO\5 = NUMERO PRIMO
{
  NUMERI = NUMERI +1
}
}
MSGBOX("Somma dei numeri: " & numeri, vbokonly, "Numeri")



ahhahaahaha un linguaggio misto tra vb.net, C++ e italiano hahahahahah
 
Top
Mefrio
view post Posted on 6/1/2011, 21:00




cioè?
 
Top
nano_sardo
view post Posted on 7/1/2011, 00:22




Dai è una battuta xD
 
Top
Dark volcano
view post Posted on 7/1/2011, 02:44




-.-"
 
Top
Mefrio
view post Posted on 7/1/2011, 20:05




il numero 2 è questo invece
CODICE
a = 1
b = 2
c = a+b
somma = 2
while (c<4000000):
   c = a + b
   a = b
   b = c
   if c % 2 == 0:
       somma = somma + c
print somma

sempre in python ;)

PS
tra poche ore renderanno disponibile il nuovo problema 329 :D
 
Top
brisingr1993
view post Posted on 7/1/2011, 21:59




perfetto:) da fare allora:):) io farei la sezione con questi indovinelli!!!!!!!!!!!!!!
 
Top
nano_sardo
view post Posted on 7/1/2011, 23:16




Dalen ti ho risposto in Area Staff ;)
 
Top
brisingr1993
view post Posted on 8/1/2011, 00:08




CODICE
int a, b, c, somma;
a=1;
b=2;
c=3;
somma=b; //assegnando la variabile, miglioro la velocità
       
while(c<4000000)
{
_c=a+b;
_a=b;
_b=c;
_somma+= c%2==0 ? c:0;
}
               
Console.Write(somma);


nn trovo altra soluzione :(
 
Top
Dark volcano
view post Posted on 8/1/2011, 00:22




numero 3 (in phyton)

CODICE
numero = 600851475143
fattori = []
a = 1
while numero > 1:
       if numero % a == 0:
               fattori.append(a)
               numero //= a
       a = a+1
print fattori
 
Top
Mefrio
view post Posted on 8/1/2011, 11:32




dark così fai prima
CODICE
numero = 600851475143
fattori = []
a = 1
while numero > 1:
      if numero % a == 0:
              fattori.append(a)
              numero //= a
      a = a+1
print fattori[-1]

ti stampa solo il divisore più grande...anche io volevo fare con una lista però non riuscivo a far entrare i divisori nella lista...mi potresti spiegare il significato di //= e fattori.append() ?
 
Top
brisingr1993
view post Posted on 8/1/2011, 11:44




appunto, pure a me...
 
Top
16 replies since 4/1/2011, 11:54   158 views
  Share