Problem 16
Monday, 16. March 2009, 22:16:07
Me llama la atencion el Problema 16:
2^15 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26. What is the sum of the digits of the number 2^1000?
Pues tenemos que sumar todos los digitos del resultado de 2^1000, no lo vi tan complicado y decidi hacerlo en C#, especificamente en mono.
Al momento de escribir:
resultado = Math.Pow(2,1000):
El resultado es:
1.07150860718627e+301
use strict;
use warnings;
my $res = 2**1000;
my $suma = 0;
my $char = "";
my @txt = split(//,sprintf("%f",$res));
foreach $char (@txt){
$suma = $suma + $char;
}
print $suma,"\n";
Donde:
my $res = 2**1000;--> hace lo mismo que Math.Pow(2,1000)
my @txt = split(//,sprintf("%f",$res)); --> generamos una arreglo de tipo char del resultado.
sprintf("%f",$res) --> esta linea de genera:
10715086071862673209484250490600018
10561404811705533607443750388370351
05112493612249319837881569585812759
46729175531468251871452856923140435
98457757469857480393456777482423098
54210746050623711418779541821530464
74983581941267398767559165543946077
06291457119647768654216766042983165
2624386837205668069376.000000
como vemos es muy diferente a 1.07150860718627e+301 y con el $suma = $suma + $char; sabremos la suma de todos los numeros del arreglo












