[quote=MaiqueL]pedroroxd, tudo bem o algoritmo do guisantogui esta sem lógica.
Mas tem mais alguma coisa que você queira acrescentar ?
Pq sinceramente, não leva para o lado pessoal vc não agregou valor nenhum a este tópico.[/quote]
Você não viu o tópico editado…
O que eu falei é que ele duplicou tópico, e deveria ser trancado
Acabou que foi feito, e meu palavrão sensurado. http://www.guj.com.br/posts/list/202553.java#1024318
Pow gente qro pedir desculpa pelo engano ai, só me dei conta que tinha postado no Avançado depois que cliquei, por isso coloquei o “PS” no primeiro post!
Mas sem perder o foco do problema o que realmente estou buscando é a formula matematica que resolve aquele laço.
deu uma lida aqui e atualizei o metodo, mas não ajuda muito na velocidade, quando em grandes proporções.
Bom dia…
Vc quer somar um valor que é recebido como parâmetro de 1 até N?
Se for isso… Faça isto aqui…
package Somatorio;
public class Teste {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Soma: " + somatorio(40));
}
public static int somatorio(int num) {
int soma = 0;
for (int i = 0; i < num; i++) {
soma += num;
}
return soma;
}
}
Contam que Gauss encontrou essa razão matemática aos 8 anos de idade.[/quote]
Só tem uma pequena diferença nos algoritimos, nesse ele sabia de qual numero começar (1), mas no meu algoritimo eu passo o numero de inicio (i) e o de fim (tamAtual)!
Contam que Gauss encontrou essa razão matemática aos 8 anos de idade.[/quote]
Só tem uma pequena diferença nos [size=18]algoritimos[/size][size=10] [/size], nesse ele sabia de qual numero começar (1), mas no meu algoritimo eu passo o numero de inicio (i) e o de fim (tamAtual)!
Analise melhor o codigo antes! [/quote]
Você ta brincando né ?
1 ) algoritmos* e não algoritimos
2 ) Ta na hora de você pensar um pouco né !
Agora entendi o pq o palavrão do pedroroxd a minha vontade é %&^*&
package Teste;
public class Teste {
public static int somaMen(int i){
return ((i+1)*i)/2;
}
public static int somaMai(int i, int tamAtual){
return ((tamAtual-i+1) * (tamAtual - i))*3;
/*int maiores = 0;
for(;i <= tamAtual; i++){
maiores += i;
}
return maiores;*/
}
public static void confeitaria(){
StringBuilder sb = new StringBuilder();
for(int tamRua = 8; tamRua < 50000; tamRua++){
for(int i= 5; i < tamRua; i++){
if(somaMen(i) == somaMai(i, tamRua)){
sb.append("\nConf ");
sb.append(i);
sb.append("\nRua ");
sb.append(tamRua);
System.out.println(sb.toString());
}
}
}
}
O problema que só funciona para quando a rua tem tamanho 49, a posição seria a 35 e o resultado 630, alguem sabe me dizer onde tenho que mexer para que funcione para os outros casos?