Número impar ou par - DÚVIDA

11 respostas
M

Faça um programa que, dado um valor X, temos Y com a seguinte regra:
a. Se X é par, Y = X / 2;
b. Se X é impar, Y = 3 * X + 1.
c. Imprima o valor de Y e então atribua o valor de Y a X e continue até que o valor de
X seja 1. Por exemplo, se a entrada for X = 13, teremos: 40, 20, 10, 5, 16, 8, 4, 2, 1.

11 Respostas

diego.sas
public static void main(String[] args) {
		metodo(13);
	}
	public static void metodo (int valor){
		
		if( valor % 2 != 1){
			valor = valor / 2;
		} else {
			valor = 3 * valor + 1;
		}
		System.out.println(valor);
		if(valor != 1){
			metodo(valor);
		}
	}

Usando a técnica de recursividade…
Flw

ivandasilva

Aí fica fácil !!!

Vou postar as minhas tarefas do serviço o Diegão faz para mim de boa…

O mateusoliveira nem pediu opnião, está escrito direto FAÇA, aí é osso!!

M

CARA ESTOU MUITO APERREADO AQUI NO SERVIÇO E TENTANDO ESTUDAR. QUERO APRENDER COMO FAZ O MAIS RÁPIDO POSSÍVEL. SOU NOVO, NÃO SABIA QUE FÓRUM ME AJUDARIA TANTO, AQUI TEM UNS CARAS GENTE BOA DEMAIS E ESPERO SER AJUDADO E CONSEQUENTEMENTE AJUDAR. MANDA PRA MIM AÍ SÓ UMA BASE PRA MIM ABRIR MINHA MENTE. OBRIGADO.

diego.sas

ivandasilva:
Aí fica fácil !!!

Vou postar as minhas tarefas do serviço o Diegão faz para mim de boa…

O mateusoliveira nem pediu opnião, está escrito direto FAÇA, aí é osso!!

Te entendo Ivanzito, to de boa aqui por enquanto… Fiquei com os dedos coçando para fazer essa brincadeirinha… rrsrs
Mas vai do interesse do amigo a aprender…
Tem tudo mastigado na net, porém cabe a cada um entender.
Na hora dos testes para passar em alguma vaga, não vai ter o GUJ.
Será necessário saber.

igor_ks

nem sempre dar de mao beijada igual o diego fez, é ser gente boa :slight_smile:

aqui o povo gosta de ajudar sim… e eles entram sim apenas pra responder a pergunta dos outros…
faço isso direto…

diego.sas

Você ainda quer mais oquê?
Foi feito…

denisspitfire

Faça uma loja virtual e por favor me mande o código fonte, passo os detalhes do site mais tarde pois estou na correria . VLW!!
kkk zuera… concordo com o diego… esse código ai deve ter um identico ou pelo menos no mesmo caminho em 5 min de pesquisa no google… logo… pedir no forum um exemplo nao acho uma tragédia assim.
Porém… precisa dar um jeito nisso, mesmo que demore, voce tem que fazer sozinho, entender sozinho…
viu o código do diego? blz… agora tenta replicar pelo menos e tal…

Z

Já que tem a resp e etc etc … coloca resolvido …

abss

M

Faça um programa que, dado um valor X, temos Y com a seguinte regra:
a. Se X é par, Y = X / 2;
b. Se X é impar, Y = 3 * X + 1.
c. Imprima o valor de Y e então atribua o valor de Y a X e continue até que o valor de
X seja 1. Por exemplo, se a entrada for X = 13, teremos: 40, 20, 10, 5, 16, 8, 4, 2, 1.


import javax.swing.JOptionPane;

public class IMPAR2 {

public static void	main(String[] args) {

int num1,valor;

num1 = Integer.parseInt(JOptionPane.showInputDialog(Primeiro Número:));

if( num1 % 2 == 0){

valor = num1 / 2;

num1 = valor;

JOptionPane.showMessageDialog(null, "O numero é par e o valor de Y será: "+num1);

//*agora o escrever o numero até chegar a o numero 1:

num1;

} else {

valor = 3 * num1 + 1;

num1=valor;

JOptionPane.showMessageDialog(null, O numero é ímpar e o valor de Y será:+num1);

//*agora o escrever o numero até chegar a o numero 1:

num1;

}
}

}


Até agora só não consegui fazer a letra ‘‘c’’…

M

mateusoliveira:
Faça um programa que, dado um valor X, temos Y com a seguinte regra:
a. Se X é par, Y = X / 2;
b. Se X é impar, Y = 3 * X + 1.
c. Imprima o valor de Y e então atribua o valor de Y a X e continue até que o valor de
X seja 1. Por exemplo, se a entrada for X = 13, teremos: 40, 20, 10, 5, 16, 8, 4, 2, 1.

M

import javax.swing.JOptionPane;

public class impar4 {

public static void	main(String[] args) {

int num,valor;

int i=1;

num = Integer.parseInt(JOptionPane.showInputDialog(Primeiro Número:));

if( num % 2 == 0){

valor = num / 2;

num = valor;

JOptionPane.showMessageDialog(null, "O numero é par e o valor de Y será: "+num);

do{

System.out.println("O valor é "+num);

num;

}while(i <= num);

} else {

valor = 3 * num + 1;

num=valor;

JOptionPane.showMessageDialog(null, O numero é ímpar e o valor de Y será:+num);

//*agora escrever o numero até chegar a o numero 1:

do{
System.out.println("O valor é "+num);
       	 
       	 num--;
       	 
       	 }while(i <= num);
    }  
     
  }

}

Criado 8 de março de 2012
Ultima resposta 8 de mar. de 2012
Respostas 11
Participantes 6