Novidade no blog! Agora um problema da categoria Matemática: Feynman. Veja como ficou a minha solução!
Plataforma: URI (BEECROWD)
Problema: 1323
Enunciado:
Richard Phillips Feynman era um físico americano muito famoso e ganhador do Prêmio Nobel de Física. Ele trabalhava em física teórica e também foi pioneiro no campo da computação quântica. Ele visitou a América do Sul por dez meses, dando palestras e aproveitando a vida nos trópicos. Ele também é conhecido pelos livros "Surely You’re Joking, Mr. Feynman!" e "What Do You Care What Other People Think?", que inclui algumas de suas aventuras abaixo do equador.
Sua paixão da vida inteira era resolver e criar quebra-cabeças, trancas e códigos. Recentemente, um fazendeiro idoso da América do Sul, que hospedou o jovem físico em 1949, achou alguns papéis e notas que acredita-se terem pertencido a Feynman. Entre anotações sobre mesóns e eletromagnetismo, havia um guardanapo onde ele escreveu um simples desafio: "quantos quadrados diferentes existem em um quadriculado de N x N quadrados?".
No mesmo guardanapo havia um desenho, que está reproduzido abaixo, mostrando que para N = 2, a resposta é 5.
Linguagens: C e C++
Solução:
Iterativamente, bastava acumular a soma de todos os quadrados de 1 até n. Poderia ser feito com a função de potência ou valor * valor (no meu caso, utilizei a variável i, então i * i). Para não precisar implementar potência ou incluir a biblioteca matemática, preferi valor * valor.
Código em C:
#include <stdio.h> int main() { int n, r, i; while (scanf("%d", &n) != EOF) { if (!n) exit(0); r = 1; for (i = 2; i <= n; i++) r += i*i; printf("%d\n", r); } return 0; }
#include <iostream> using namespace std; int main() { int n, r, i; while (cin >> n) { if (!n) exit(0); r = 1; for (i = 2; i <= n; i++) r += i*i; cout << r << endl; } return 0; }
Nenhum comentário:
Postar um comentário