Ir para o conteúdo principal
e-Disciplinas
  • Disciplinas »
    2026 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 AACCs/FFLCH Pró-Reitoria de Pós-Graduação Outros
  • Suporte »
    Acesso Perfis Ouvintes Docentes Criação de Disciplinas da USP Documentação HelpDesk e Contato Guia de uso Sobre
  • Português - Brasil ‎(pt_br)‎
    Deutsch ‎(de)‎ English ‎(en)‎ Español - Internacional ‎(es)‎ Français ‎(fr)‎ Italiano ‎(it)‎ Português - Brasil ‎(pt_br)‎
  • Fechar
    Alternar entrada de pesquisa
  • Acessar

CCM0128 - Computação II (2025i)

  1. Início
  2. Ambientes
  3. 2025
  4. RUSP
  5. CCM
  6. 0128.2025i
  7. Exercícios-programa
  8. E06 Números simples

E06 Números simples

Condições de conclusão
Vencimento: domingo, 25 mai. 2025, 23:59

Dizemos que um número natural positivo é simples se ele não tem divisores primos maiores que \(7\). Assim, um número simples é da forma $2^a3^b5^c7^d$, onde $a$, $b$, $c$ e $d$ são números naturais. Os primeiros $20$ números simples são

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27.

Neste exercício, você deve escrever uma função que devolve o $N$-ésimo número simples para valores moderadamente grandes de $N$ dados pelo usuário. Por exemplo, para $N=20$, sua função deve devolver $27$.

BigIntegers.  Como queremos trabalhar com números simples grandes (que não cabem em um long), você deverá usar a classe BigInteger do Java. Este é o documento oficial com a descrição dessa classe.

Para uma introdução simples a essa classe, veja, por exemplo, esta página. (O programa Example.java desta página, levemente modificado, segue abaixo.)

Sua tarefa.  Sua tarefa é escrever uma classe chamada Simple.java, que contém uma função de assinatura

public static BigInteger nthSimple(int N)

que, ao receber $N\geq1$, devolve o $N$-ésimo número simples. Sua função será testada com a classe SimpleClient.java dada abaixo e de algumas outras formas.

Exemplos de execução.  Seguem alguns exemplos de execução:

$ java-introcs SimpleClient 10000
Elapsed time: 0.0
63221760000
$ java-introcs SimpleClient 10000000
Elapsed time: 5.8
1037754506929393275846369194817675812165052808572460991244140544000
$ java-introcs SimpleClient 20000000
Elapsed time: 13.4
5315584217176796584956949434687386531552635487727820873260498046875000000000000
$ java-introcs SimpleClient 40000000
Elapsed time: 29.4
6916111798394576685578982249831634905831344091020982877920731406301259994506835937500000000000
$ java-introcs SimpleClient 100000000
Elapsed time: 92.7
19740298131032654812472710905349395789786394159462319333658845201548773240496359449025476351380348205566406250000000000
$

Desempenho.  O desempenho de sua função nthSimple() deve ser grosso modo comparável ao desempenho que você vê nos exemplos acima.

Entrega.  Entregue apenas sua classe Simple.java.

  • E06 E06
    15 maio 2025, 11:54 AM
  • E06.tar.gz E06.tar.gz
    15 maio 2025, 11:54 AM
◄ E05 Parafusos e porcas
E07 LIS: o algoritmo de Hammersley ►

Blocos

Pular Navegação
  • Início

    • e-Disciplinas

      • Meus Ambientes

      • Tags

      • Pesquisar

      • PáginaSobre

      • PáginaHelp Desk e Contato

      • PáginaGuia

    • Meus Ambientes

    • Ambientes

      • 2025

        • CENA

        • EACH

        • ECA

        • EE

        • EEFE

        • EEFERP

        • EEL

        • EERP

        • EESC

        • EP

        • ESALQ

        • FAU

        • FCF

        • FCFRP

        • FD

        • FDRP

        • FE

        • FEA

        • FEARP

        • FFCLRP

        • FFLCH

        • FM

        • FMBRU

        • FMRP

        • FMVZ

        • FO

        • FOB

        • FORP

        • FSP

        • FZEA

        • IAG

        • IAU

        • IB

        • ICB

        • ICMC

        • IEB

        • IEE

        • IF

        • IFQSC

        • IFSC

        • IGc

        • IME

        • IO

        • IP

        • IPEN

        • IQ

        • IQSC

        • IRI

        • HRAC

        • MAC

        • MAE

        • MP

        • MZ

        • RUSP

          • PRG

          • CCM

            • CCM0118-235-2025

            • CCM0214-2025

            • CCM0113-235-2025

            • CCM0212-234-2025

            • CCM0211-2025

            • CCM0213-2025

            • CCM0218-234-2025*

            • CCM0218-234-2025

            • CCM0114-235-2025

            • Biologia 1 - 2025

            • CCM0215-134-2025

            • CCM0121-2025

            • CCM0221-2025

            • 0128.2025i

              • Geral

              • Exercícios propostos em sala

              • Exercícios-programa

                • TarefaE06 Números simples

            • CCM0122-134-2025

            • CCM0223-133-2025

            • CCM0222-133-2025

            • CCM0224-133-2025

            • CCM0124-134-2025

          • IAL

          • DPG

          • PDPD

          • PDPD

          • PDPD

          • PDPD

          • PDPD2025

          • PDPD2025

          • Ciclo PDPD2025

      • 2026

      • 2024

      • 2023

      • 2022

      • 2021

      • 2020

      • 2019

      • 2018

      • 2017

      • 2016

      • 2015

      • 2014

      • 2013

      • 2012

      • Grupos de Estudos, Pesquisa e Outros

      • PRPG - Pró-Reitoria de Pós-Graduação

      • STI

Blocos suplementares

Você acessou como visitante (Acessar)
Fornecido por Moodle