programa que imprima as potências de 2 [RESOLVIDO]

1. programa que imprima as potências de 2 [RESOLVIDO]

Pedro Victor
Nerdiarretado

(usa Arch Linux)

Enviado em 04/04/2019 - 10:08h

Saudações amigos (as)

Estou com um problema em relação a esse código, está rodando "normal", porém não imprimi 2^0 = 1, alguém sabe me informar o erro que o mesmo enfrenta?

/*
Dado um número inteiro positivo N, imprimir as primeiras N potências de
2 (lembre-se que a 1a potência de 2 é 2^0 = 1.
*/
#include "console.h"
#include <stdio.h>

void main () {
int cont, n;

scanf("%i", &n);

for(cont= 0; cont < 5; cont++)
{
n = 2*n;
printf("%i\n", n);
}
}


Terminal:
2
4
8
16
32
64



  


2. Re: programa que imprima as potências de 2 [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 04/04/2019 - 13:07h

Seu programa não está implementando o que foi pedido.

Se o enunciado pede para imprimir as N primeiras potências de 2, esse N tem de aparecer na condição de parada do laço de repetição. O fato de que não aparece já deveria lhe indicar que algo está errado.

Outro problema bastante evidente: quando você faz com que o valor a ser impresso dependa de um valor recebido de fora, esse valor pode não ser uma potência de 2. O valor a ser impresso não pode, portanto, ter um valor genérico N fator inicial. Como a primeira potência não-negativa de 2 é 1, parece-me óbvio que o valor inicial da sequência tem de ser 1.

Além disso, se você multiplicar o valor inicial antes de o imprimir, ele vai acabar nunca aparecendo na sequência.


... “Principium sapientiae timor Domini, et scientia sanctorum prudentia.” (Proverbia 9:10)


3. Re: programa que imprima as potências de 2 [RESOLVIDO]

Pedro Victor
Nerdiarretado

(usa Arch Linux)

Enviado em 10/04/2019 - 21:59h

#include <stdio.h>

int main () {

int n; // Varíável que armazena o valor digitado pelo usuário.;
int p=1; // Variável que guardará o valor da n-ésima potência de 2;
int cont;

printf("Digite um número inteiro positivo:\n");
scanf("%i", &n);

for(cont = 0; cont <= n; cont++)
{
p *= 2;
if (cont == 0) {
printf("1\n");
}

printf("%i\n", p);
}

}







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts