<commit_before>===================================
Dicas para Maratonas de Programação
===================================

Sobre este documento
====================
Este documento foi iniciado por Denis Costa.

Este documento foi utilizado `reStructuredText`_ e está sob licença `Creative Commons`_.

Data de última compilação:

Dicas Gerais
============

*   Sempre leia o problema todo e com atenção. Apesar de grande parte do texto
    do problema não ajudar na resolução de problema em si, as vezes informações
    importantes estão perdidas no meio do enunciado

*   Use a linguagem que você e seu time mais domina.

Entrada e Saída
===============

Variáveis
=========

Em C++
------

Em Java
-------

Algoritmos e funções mais comuns
================================

Números Primos
--------------<commit_msg>Adicionando tabela de tipos em C++.<commit_after>===================================
Dicas para Maratonas de Programação
===================================

Sobre este documento
====================
Este documento foi iniciado por Denis Costa.

Este documento foi utilizado `reStructuredText`_ e está sob licença `Creative Commons`_.

Data de última compilação:

Dicas Gerais
============

*   Sempre leia o problema todo e com atenção. Apesar de grande parte do texto
    do problema não ajudar na resolução de problema em si, as vezes informações
    importantes estão perdidas no meio do enunciado

*   Use a linguagem que você e seu time mais domina. Conhecer a biblioteca
    padrão da linguagem escolhida é imprescindível para se sair bem nas
    maratonas de programação.

Variáveis
=========

Nas maratonas é muito importante saber os tipos que a linguagem suporta pois,
se mal utilizado, pode acontecer de uma variável estourar o limite.

Em C++
------

Os típos numéricos mais importante de C++ são:

+-----------+----------+----------------------------------------------------------+----------------------------------+
| **tipo**  | **bits** | **range signed**                                         | **range unsigned**               |
+-----------+----------+----------------------------------------------------------+----------------------------------+
| int       | 16       | -32768 até 32767                                         | 0 até 65535                      |
+-----------+----------+----------------------------------------------------------+----------------------------------+
| long      | 32       | -2,147,483,648 até 2,147,483,647                         | 0 até 4,294,967,295              |
+-----------+----------+----------------------------------------------------------+----------------------------------+
| long long | 64       | -9,223,372,036,854,775,808 até 9,223,372,036,854,775,807 | 0 até 18,446,744,073,309,551,615 |
+-----------+----------+----------------------------------------------------------+----------------------------------+

Em Java
-------

Entrada e Saída
===============

Entrada
-------

Em C++
~~~~~~

Em C++ é possivel fazer a leitura da entrada padrão de várias formas. Para
fazer a leitura de uma quantidade conhecida de elementos a melhor forma
talevez seja com **cin**. Para usar o **cin** é preciso incluir a biblioteca
**iostream**. ::

    #include <iostream>

    using namespace std;

    int main(){
        int n;
        string s;

        cin >> n;
        cin >> s;

        return 0;
    }

Mas o **cin** le valores separados por espaço. Se for necessário ler a linhas
inteira e armazená-la em uma string é preciso usar o **getline**, que também
está na biblioteca iostream. ::

    #include <iostream>

    using namespace std;

    int main(){
        string s;

        getline(cin, s);

        return 0;
    }

Algoritmos e funções mais comuns
================================

Números Primos
--------------
{'fraction_non_alphanumeric': 0.30165397742189554, 'fraction_numerical': 0.029929115253347335, 'mean_word_length': 1.675561797752809, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3456622', 'n_tokens_mistral': 1100, 'n_tokens_neox': 974, 'n_words': 373}