Você está aqui: C ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Dado um número inteiro positivo n, se n for par, seu código deverá dividí-lo por 2, e - Desafio de Programação Resolvido em CQuantidade de visualizações: 815 vezes |
|
Pergunta/Tarefa: Dado um número inteiro positivo n, se n for par, seu código deverá dividí-lo por 2, e, se n for ímpar, seu código deverá multiplicá-lo por 3 e adicionar 1. O algorítmo deverá repetir estas instruções até que o valor de n seja 1. Sua saída deverá ser parecida com: Informe um número inteiro positivo: 6 6 3 10 5 16 8 4 2 1 Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
int n;
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar um inteiro positivo
printf("Informe um número inteiro positivo: ");
scanf("%d", &n);
// exibe o valor de n
printf("%d ", n);
// enquanto n for maior que 1
while(n > 1){
// n é par?
if(n % 2 == 0){
n = n / 2;
}
else{
n = (n * 3) + 1;
}
// exibe o valor de n novamente
printf("%d ", n);
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
|
JavaScript - Como testar se um ponto está dentro de um círculo em JavaScript - Desenvolvimento de Games com JavaScript C - Como calcular a energia cinética de um corpo dado sua massa e sua velocidade usando a linguagem C |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





