EX: soma dos digitos de 100!  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
wizardkronuz
Smalltalk

Membro desde: 05/06/2007 12:56:56
Mensagens: 4
Offline

alguem poderia me dizer se o codigo abaixo da o resultado correto ?


joede.fadel
Virtual Machine Man
[Avatar]

Membro desde: 15/08/2007 00:42:59
Mensagens: 536
Localização: Curitiba/Pr
Offline

dando uma rápida olhada no seu código ele vai dar o resultado certo sim, mas você deu uma complicada em algumas partes do seu código que poderia se simplificado.

Joe S2 Jo
UTFPR - Universisdade Tecnologica Federal do Paraná
Java-PHP-PL/SQL
[Email]
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

depende de qual é o resultado que vc espera ^^

Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
rodrigo.bossini
GUJ Master
[Avatar]

Membro desde: 01/07/2008 20:59:17
Mensagens: 1055
Offline

Cara, se entendi direito, vc ta querendo fazer a soma de 1 até n. Assim: 1 + 2 + 3 + 4 + ....+ n. Correto?

Se for isso, vc nem precisa de laço.

Se n for par, a soma de 1 até n é igual a: (n(n+1))/2.

Se n for impar a soma de 1 até n é igual a: ((n(n-1))/2) + n.

Em java:


http://www.rodrigobossini.com.br/

Meu Twitter:@rodrigobossini
Se uma pessoa fala português há 30 anos e ainda não aprendeu, por que é que vou acreditar que ela está programando em alguma linguagem de programação há apenas 10 anos e sabe o que está fazendo?
wizardkronuz
Smalltalk

Membro desde: 05/06/2007 12:56:56
Mensagens: 4
Offline


rod.Attack

o exercicios é
n! significa n * (n - 1)! = n * ... * 3 * 2 * 1
Encontre a soma dos dígitos do número 100!

pesquisei um pouco e encontrei o resultado de 648
só não sei se o código está correto
rodrigo.bossini
GUJ Master
[Avatar]

Membro desde: 01/07/2008 20:59:17
Mensagens: 1055
Offline

wizardkronuz wrote:
rod.Attack

o exercicios é
n! significa n * (n - 1)! = n * ... * 3 * 2 * 1
Encontre a soma dos dígitos do número 100!

pesquisei um pouco e encontrei o resultado de 648
só não sei se o código está correto


Fatorial é a multiplicação de n números, começando em n e terminando em 1.

A soma dos digitos não é a mesma coisa que fatorial. Não entendi.

http://www.rodrigobossini.com.br/

Meu Twitter:@rodrigobossini
Se uma pessoa fala português há 30 anos e ainda não aprendeu, por que é que vou acreditar que ela está programando em alguma linguagem de programação há apenas 10 anos e sabe o que está fazendo?
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Estou vendo que um monte de gente quer a solução para este problema:

"Ache a soma dos dígitos da representação decimal do fatorial de 100".

Obviamente, o fatorial de 100 é, em representação decimal, 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 , como se pode constatar fazendo um programa qualquer. Esse pessoal quer achar a soma desses dígitos, que é 648.
[WWW]
JaVa_MaChInE
JavaBaby
[Avatar]
Membro desde: 05/06/2007 16:43:16
Mensagens: 96
Offline

Não é que eu também tinha dúvida nesse exercício
wizardkronuz
Smalltalk

Membro desde: 05/06/2007 12:56:56
Mensagens: 4
Offline

thingol wrote:Estou vendo que um monte de gente quer a solução para este problema:

"Ache a soma dos dígitos da representação decimal do fatorial de 100".

Obviamente, o fatorial de 100 é, em representação decimal, 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 , como se pode constatar fazendo um programa qualquer. Esse pessoal quer achar a soma desses dígitos, que é 648.



hummmmm
seria algo assim então ?
o problema que depois do fatorial de 65 ele vira 0


thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

A idéia do tal exercício é que você não use long ou int, mas um outro tipo de dado (java.math.BigInteger), ou então você bole uma maneira de achar a soma dos dígitos do fatorial de outra forma que não calculando o fatorial.
[WWW]
rodrigo.bossini
GUJ Master
[Avatar]

Membro desde: 01/07/2008 20:59:17
Mensagens: 1055
Offline

thingol wrote:A idéia do tal exercício é que você não use long ou int, mas um outro tipo de dado (java.math.BigInteger), ou então você bole uma maneira de achar a soma dos dígitos do fatorial de outra forma que não calculando o fatorial.


Resolvido com BigInteger:


This message was edited 1 time. Last update was at 04/03/2009 13:48:30

wizardkronuz
Smalltalk

Membro desde: 05/06/2007 12:56:56
Mensagens: 4
Offline

uhuuuuuuuuuuuuuuuuuuuuu

VALEW rod.attack
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

Não sei fazer sem calcular o fatorial, se alguem conseguiu, por favor me ajude ^^


This message was edited 3 times. Last update was at 04/03/2009 14:44:50


Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
David
JavaEvangelist
[Avatar]

Membro desde: 18/03/2005 13:10:33
Mensagens: 450
Localização: Natal/RN
Offline

rod.attack wrote:
Se n for par, a soma de 1 até n é igual a: (n(n+1))/2.

Se n for impar a soma de 1 até n é igual a: ((n(n-1))/2) + n.


Na verdade, (n(n+1))/2 é a mesma coisa que ((n(n-1))/2) + n.

(n(n+1))/2 = ((n(n-1))/2) + n
(n^2 + n) / 2 = (n^2 - n) / 2 + 2n / 2
(n^2 + n) / 2 = (n^2 - n + 2n) / 2
(n^2 + n) / 2 = (n^2 + n) / 2
0 = 0.

Não é necessário fazer esse teste, basta usar sempre a primeira fórmula.

David Pereira
Engenheiro de Computação - UFRN
Mestre em Engenharia Elétrica
Doutorando em Engenharia Elétrica
[WWW]
rodrigo.bossini
GUJ Master
[Avatar]

Membro desde: 01/07/2008 20:59:17
Mensagens: 1055
Offline

Lavieri wrote:Não sei fazer sem calcular o fatorial, se alguem conseguiu, por favor me ajude ^^





calcule o fatorial de forma recursiva:


This message was edited 1 time. Last update was at 04/03/2009 14:24:53


http://www.rodrigobossini.com.br/

Meu Twitter:@rodrigobossini
Se uma pessoa fala português há 30 anos e ainda não aprendeu, por que é que vou acreditar que ela está programando em alguma linguagem de programação há apenas 10 anos e sabe o que está fazendo?
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team