Resoluções da Etapa 1

Desafio 1

Enunciado
Resolução em Java
import java.util.Scanner;
class Exercicio
{
    public static void main(String[] args) 
    {
        //Declarando constantes
        final double DensidadeEnerg = 15000000000.0;
        final double VEscape = 12000.0;
        //Criando o Scanner
        Scanner sc = new Scanner(System.in);
        //Coletando numero de casos de teste
        int testes = sc.nextInt();

        //Execucao do programa
        double[] result = new double[testes];
        int massa;
        for(int i = 0; i<testes; i++)
        {
            massa = sc.nextInt();
            result[i] = (massa*(VEscape*VEscape))/2;
            result[i] = result[i]/DensidadeEnerg;
        }
        //Imprimindo Resultado
        for(int i = 0; i<testes; i++)
        {
          System.out.println(Math.round(result[i]));
        }
        
    }
}
Resolução em C++
#include "javalib.hpp"

int main()
{
	//Declarando Constantes
	double DensidadeEnerg = 15000000000.0;
	double VEscape = 12000.0;
	//Lendo o numero de casos de teste
	int testes = jl::nextInt();
	jl::nextLine();
	//Executando o programa
	double result[testes];
	int massa;
	for(int i = 0; i<testes; i++)
	{
		massa = jl::nextInt();
    		jl::nextLine();
		result[i] = (massa*VEscape*VEscape)/2;
		result[i] = result[i]/DensidadeEnerg;
	}
	//Imprimindo a resposta
	for(int i = 0; i<testes; i++)
	{
		std::cout << jl::round(result[i]) << std::endl;
	}
	return 0;
}

Desafio 2

Enunciado
Resolução em Java
import java.util.Scanner;

class Exercicio 
{
    public static void main(String[] args) 
    {
        //Carregando o input
        Scanner sc = new Scanner(System.in);
        
        int input_size = Integer.parseInt(sc.nextLine());
        String[] input_space = new String[input_size];

        for(int i = 0; i < input_size; i++)
            input_space[i] = sc.nextLine();

        sc.close();


        //Processando as informações inseridas
        for(int i = 0; i < input_size; i++)
        {
            char[] aux_input = input_space[i].toCharArray();
            String resposta = "";
            boolean encontrouMensagem = false;

            for(int j = 0; j < aux_input.length; j++)
            {
                if(aux_input[j] == '!') {
                    encontrouMensagem = !encontrouMensagem;
                }

                if(encontrouMensagem && aux_input[j] != '!')
                    resposta += aux_input[j];
            }

            System.out.println(resposta);
        }

    }
}
Resolução em C++
#include "javalib.hpp"

int main()
{

	//Lendo o numero de casos de teste
	int testes = jl::nextInt();
	jl::nextLine();
	//Capturando as strings
	std::string result[testes];
	for(int i = 0; i<testes; i++)
	{
		result[i] = jl::nextLine();
	}

	//Processando e imprimindo
	for(int i = 0; i<testes; i++)
	{
		std::string resposta = "";
		bool encontrouMensagem = false;
		std::string stringAtual = result[i];
		for(int j = 0; j<stringAtual.length();j++)
		{
			if(stringAtual[j] == '!')
			{
				encontrouMensagem = !encontrouMensagem;
			}

			if(encontrouMensagem&& stringAtual[j] != '!')
				resposta += stringAtual[j];
		}
		std::cout << resposta << std::endl;
	}
	return 0;
}

Desafio 3

Enunciado
Resolução em Java
import java.util.Scanner;
class Exercicio
{
  public static void main(String[] args) 
  {
    Scanner sc = new Scanner(System.in);
    int numtestes = sc.nextInt();
    int tanque;
    for(int i = 0; i<numtestes; i++)
    {
      String result = "Teste " + (i+1) + ": ";
      for(int j = 0; j<5; j++)
      {
        tanque = sc.nextInt();
        int resp = 300-tanque;
        result += resp + " ";
      }
      System.out.println(result);
    }
    sc.close();
  }
}
Resolução em C++
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define COMBUSTIVEL 300

int main() 
{
    int input_size;
    scanf("%d", &input_size);
    getchar();
    int input_space[input_size][5];

    for(int i = 0; i < input_size; i++)
    {
        char aux_input[20];
        char delim[] = " ";
        fgets(aux_input, sizeof aux_input, stdin);

        char *ptr = strtok(aux_input, delim);
        int j = 0;

	    while(ptr != NULL)
	    {
	    	input_space[i][j] = atoi(ptr);
		    ptr = strtok(NULL, delim);
            j++;
	    }
    }

    for(int i = 0; i < input_size; i++)
    {
        printf("Teste %d:", i+1);
        for(int j = 0; j < 5; j++)
        {
            printf(" %d", 300 - input_space[i][j]);
        }
        printf("\n");
    }
    
    return 0;
}

Desafio 4

Enunciado
Resolução em Java
import java.util.Scanner;

class Exercicio
{

    static int mdc(int a, int b) {
        int t;
        while(b != 0){
            t = a;
            a = b;
            b = t%b;
        }
        return a;
    }

    static boolean ehPrimoEntreSi(int a, int b)
    {
        return (mdc(a, b) == 1) ? true : false;
    }

    static int phi(int n)
    {
        int resp = 0;

        for(int i = 1; i < n; i++)
            if(ehPrimoEntreSi(n, i))
                resp++;

        return resp;
    }

    public static void main(String[] args) 
    {
        Scanner sc = new Scanner(System.in);
        
        int input_size = Integer.parseInt(sc.nextLine());
        int[] numeros =  new int[input_size];

        for(int i = 0; i < numeros.length; i++)
        {
            numeros[i] = Integer.parseInt(sc.nextLine());
        }

        for(int i = 0; i < numeros.length; i++)
        {
            int phi = phi(numeros[i]);
            System.out.println(phi);
        }
    }
}
Resolução em C++
#include "javalib.hpp"

int mdc(int a, int b) 
{
	int t;
        while(b != 0)
	{
            t = a;
            a = b;
            b = t%b;
        }
        return a;
}

static bool ehPrimoEntreSi(int a, int b)
{
	return (mdc(a, b) == 1) ? true : false;
}

static int phi(int n)
{
        int resp = 0;

        for(int i = 1; i < n; i++)
            if(ehPrimoEntreSi(n, i))
                resp++;

        return resp;
}

int main()
{

	//Lendo o numero de casos de teste
	int testes = jl::nextInt();
	jl::nextLine();

	//Obtendo os valores da funcao
	int numeros[testes];
	for(int i = 0; i<testes; i++)
	{
		numeros[i] = jl::nextInt();
		jl::nextLine();
	}

	//Processando e imprimindo
	for(int i = 0; i<testes; i++)
	{
		int phiRes = phi(numeros[i]);
		std::cout << phiRes << std::endl;
	}
	return 0;
}

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *