Plataforma: URI
Problema: 1557Enunciado:
Escreva um algoritmo que leia um inteiro N (0 ≤ N ≤ 15), correspondente a ordem de uma matriz M de inteiros, e construa a matriz de acordo com o exemplo.
Linguagem: C++
Linguagem: C++
Solução:
#include <iostream> #include <iomanip> using namespace std; int potencia2(short int expoente) { int resposta = 1; if (expoente == 0) return 1; while (expoente--) { resposta += resposta; } return resposta; } int maiorTamanho(int t) { int maiorNumero = potencia2(t + t - 2); int digitos = 1; while (maiorNumero > 9) { maiorNumero /= 10; digitos++; } return digitos; } int main() { int tamanho; int valor; while (1) { cin >> tamanho; if (tamanho == 0) break; int maior = maiorTamanho(tamanho); int linha = 0, coluna; while (linha < tamanho) { valor = potencia2(linha); coluna = 0; while (coluna < tamanho) { if (coluna == 0) cout<<fixed<<right<<setw(maior)<<valor; else cout<<" "<<fixed<<right<<setw(maior)<< valor; valor += valor; coluna++; } cout << endl; linha++; } cout << endl; } return 0; }
Nenhum comentário:
Postar um comentário