Esercizio 16

Stato
Discussione chiusa ad ulteriori risposte.

G164H4x0r

Utente Silver
20 Maggio 2009
64
0
0
65
Codice:
2^15 = 32768 e la somma dei numeri da cui è composto è 3 + 2 + 7 + 6 + 8 = 26.

Qual è la somma dei numeri da cui è composto 2^1000?

C:
http://sprunge.us/XMSZ?c
Codice:
gcc -Wall -Wextra -ansi -pedantic -pedantic-errors -o 16 file.c -lgmp

nessita delle gmp :D
 
Codice:
#!/usr/bin/python

a = str(2**1000)
n = 0   
for i in a: 
         n += int(i)
print n

2^15 = 32768 e la somma dei numeri da cui è composto è + 2 + 7 + 6 + 8 = 26.
Hai mandato a fottere il 3 :(
 
boh dovrebbe andare ma non l'ho testato
Codice:
(defvar *snum* (format nil "~a" (expt 2 1000)))
(format t "~a" (loop for i from 0 to (- (length *snum*) 1) summing (char-int (elt *snum* i))))

EDIT:corretto ora va
 
bronsa ha detto:
boh dovrebbe andare ma non l'ho testato
Codice:
(defvar *snum* (format nil "~a" (expt 2 1000)))
(loop for i from 0 to (- (length *snum*) 1) summing (format "~D" (elt *snum* i)))

Perché devi farti del male con quell'aborto di linguaggio?
 
!R~ ha detto:
Codice:
#!/usr/bin/python

a = str(2**1000)
n = 0   
for i in a: 
         n += int(i)
print n

+ bello:

Codice:
a=str(2**1000)
print sum([int(f) for f in a])

così è + figo e, teoricamente almeno, + veloce, giacchè utilizza un'implementazione diversa, farò qualche test

EDIT: la differenza è nell'ordine del millesimo di secondo, quindi trascurabile XD
 
mio veloce in ruby non l'ho ancora provato ditemi se non fnziona :)
Codice:
i = 0 and t = [] and s = 0
(m = (2**1000).to_s).length.times do |x|
	t << m[x].chr
end
t.each do |g|
	print "(",g,") => "
	s += g
end
 
PowerOfMind ha detto:
Codice:
(m = (2**1000).to_s).length.times do |x|
	t << m[x].chr
end

perche' devi fare questo, quando puoi fare semplicemente cosi'? =)
Codice:
(2**1000).to_s.each_char { |x| t << x }


E poi scritto cosi' non dovrebbe funzionare, le parentesi le dovevi mettere cosi': m=( (2**1000).to_s)
(Poi non l'ho provato eh)
 
Shura non uccidermi se leggi questo messaggio...

Ruby:
require 'base64'
eval(Base64.decode64('dG90ID0gMDsoMioqMTAwMCkudG9fcy5lYWNoX2J5dGUgZG8gfHN8IHRvdCArPSBzLmNoci50b19pIGVuZA0KcHV0cyB0b3QNCg=='))
 
Stato
Discussione chiusa ad ulteriori risposte.