Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador 2159. Mostrar todas as postagens
Mostrando postagens com marcador 2159. Mostrar todas as postagens

quinta-feira, 4 de março de 2021

URI (BEECROWD) - 2159 - Número Aproximado de Primos - Iniciante - C e C++

O problema Número Aproximado de Primos é bem fácil de resolver. Confira!

Plataforma: URI (BEECROWD)

Problema2159

Enunciado:

Schoenfeld e Rosser publicaram em 1962 um artigo descrevendo um valor mínimo e máximo para a quantidade de números primos até n, para n ≥ 17. Esta quantidade é representada pela função (n) e a fórmula é mostrada abaixo (ver fórmula na especificação original do problema).

Sua tarefa é, dado um natural n, calcular o mínimo e máximo do intervalo para o número aproximado de primos até n.

Linguagens: C e C++


Solução:

Basta calcular n / log(n) e 1.25506 multiplicado por este valor. Quem preferir pode salvar n / log(n) em uma variável para não calcular duas vezes.

Na formatação da saída é necessário usar uma casa decimal, então formatei a saída do printf com %.1lf em C e usei fixed e setprecision(1) no fluxo cout em C++.

Código em C:

#include <stdio.h>
#include <math.h>

int main() {
    int n;
    
    scanf("%i", &n);
    
    printf("%.1lf %.1lf\n", n/log(n), 1.25506 * n/log(n));

    return 0;
}

Código em C++:
#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

int main() {
    int n;
    
    cin >> n;
    cout << fixed << setprecision(1) << n/log(n) << " " << 1.25506 * n/log(n) << endl;
    
    return 0;
}

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas