BEECROWD 1021 - Notas e Moedas ( Resolução em Java ) | URI Online Judge
HTML-код
- Опубликовано: 24 янв 2025
- Resolução do exercício 1021 do URI Online Judge (Notas e Moedas) usando a linguagem de Programação Java. Neste vídeo resolveremos nosso vigésimo primeiro exercício do URI. Em breve novas resoluções serão postadas aqui no canal. Continuem acompanhando!
Operadores Lógicos no Java | URI Online Judge
• Operadores Lógicos no ...
URI 1035 - Teste de Seleção 1
• BEECROWD 1035 - Teste ...
Playlist: Java no URI Online Judge - Resolução de Exercícios
• Java no URI Online Jud...
URI 1021: www.urionlinej...
BEECROWD | URI ONLINE JUDGE vale a pena?
O BEECROWD | URI Online Judge é um projeto que está sendo desenvolvido pelo Departamento de Ciência da Computação da URI. O principal objetivo é promover a prática de programação e o compartilhamento de conhecimento.
REPOSITÓRIO DE PROBLEMAS
O BEECROWD | URI Online Judge contém mais de 1000 problemas divididos em 8 grandes categorias. Esta divisão ajuda os usuários a focar em temas específicos. Todos os problemas estão disponíveis em Português e Inglês.
BEECROWD | URI ONLINE JUDGE FÓRUM
O BEECROWD | URI Online Judge Fórum é o lugar certo para você buscar ajuda e ajudar outros usuários. Compartilhe seu conhecimento e experiência com algoritmos e linguagens de programação com usuários do mundo todo!
COMPETIÇÕES E RANKING
Resolva os problemas disponíveis utilizando as 11 linguagens de programação, competindo com os outros usuários. Como desafio, melhore seu ranking, resolvendo o máximo de problemas e aperfeiçoando seu código fonte.
BEECROWD | URI ONLINE JUDGE ACADEMIC
O BEECROWD | URI Online Judge Academic é um módulo único para professores e coaches. Aqui você pode criar disciplinas e listas de exercícios. Você também pode acompanhar o progresso dos seus estudantes, dando a eles um feedback em tempo real.
BEECROWD | URI ONLINE JUDGE CONTESTS
O BEECROWD | URI Online Judge também possui contests públicos em base regular. Entre em contato conosco para hospedar seus contests no BEECROWD | URI Online Judge gratuitamente. Crie novos problemas e treine sua equipe com competições únicas e privadas.
[213]
Eu fiquei um bom tempo parado por causa do 1 centavo. Seu macete ajudou bastante, obrigado!
TOP 👨🎓 !!!
Estou entendendo muito mais agora vendo seus vídeos.
Parabéns 🥷🥷🥷 Você é Ninja!!! Muito TOP mesmo!!!
continue resolvendo problemas pfv, não pare está me ajudando muito
Fico feliz em saber que está ajudando Thiago. Continue acompanhando o canal, pois em breve sairá novas resoluções de exercícios! ;)
Estuda demais esse mlk ! kjkj
@@CalebeAlvesEvangelista gosto de incentivar quem faz esse tipo de conteúdo
Obrigado! Não pensei que eu poderia fazer a multiplicação do valor por 100, pra assim fazer o cálculo correto das moedas.
Sua explicação é ótima, continue assim!
Me ajudou bastante, obrigado!
Minha mente bugou para entender essa lógica, mas com este vídeo ficou tudo mais claro.
Você é um mito, eu não tinha entendido absolutamente nada, mas seu vídeo deu uma clareada, obrigado.
Valeu, Roger! Continue acompanhando o canal ;)
@@canalmaonocodigo a propósito, estou fazendo um curso de java e pede pra fazer o exercício 1061 e eu não consegui de jeito nenhum kkkkk se possível resolva ele pra gente ver por favor.
Em breve irei voltar com a resolução de exercícios
Tu é foda meu mano, não cheguei aqui por vontade de responder o problema, mas sim pq já tinha achado a resposta no Github mas não estava NADA satisfeito pq eu realmente não havia entendido até ver seu vídeo... quando terminei montei o código do meu "jeito de fazer" e na hora "Accepted" no URI muito obrigado por me ajudar a ser um programador melhor
Showww, Hudson! Fico muito feliz, maninho! Valeu pelo comentário ❤
hudsonnnnnnnnn
Por favor, por favor continua com o URI 1022 em diante! ^^ Está me ajudando muito a estudar!!!!!! Please!!!
Fico feliz que tenha gostado, Isabela! Os exercícios do URI Online Judge estão sendo resolvido usando JavaScript, recomendo que dê uma olhada nessa playlist: ruclips.net/p/PLDcyRsj3P9H1nkhT0wK-9eRnAq4Pax_w2 :)
@@canalmaonocodigo Podexá! No momento estou precisando estudar Java, mas vou estudar Javascript tb! :)
@@canalmaonocodigo Eu até tinha começado a estudar Javascript mas fiquei muito confusa com o Split, não entendi bem pq era necessario e talz :/ Tem alguma forma de fazer o exercicio sem ele? rsrs
@@canalmaonocodigo ei amigo, você disse que iria disponibilizar alguns livros na descrição do video mas não achei, se puder comenta aqui eles.
Bom demais, passei pra meus alunos!
Valeu pelo apoio!
MDS, o meu programa sempre faltava 1 centavo para fechar, só depois que eu percebi que isso estava acontecendo pq eu usei float invés de double, me deu vontade de bater com a cabeça na parede.
Aí eu fui procurar a resolução na net e achei seu vídeo, e quando eu vi você declarando tipo double, que eu me toquei da burrada que tinha feito
Bom e prático.
Aprenda a baixar e instalar o Java da forma correta: ruclips.net/video/Cq7gdAVPlF4/видео.html
Acompanhe a Resolução de Exercícios pela Playlist: ruclips.net/video/qyTcgbHqotY/видео.html
Thank You ❤
Ótima explicação.
Valeu, Deyvid
A dica de multiplicar o valor por 100 quando tratar as moedas é muito boa e deve ser feito pois no URI é geralmente executado com compilador diferente do que o usado localmente por nós, sofri com isso usando JS.
Minha solução final foi:
var input = require('fs').readFileSync('stdin', 'utf8');
let value = parseFloat(input);
let notes = [100, 50, 20, 10, 5, 2];
let coins = [1, 0.50, 0.25, 0.10, 0.05, 0.01];
console.log('NOTAS:');
notes.forEach(note => {
console.log(Math.floor(value/note) + ' nota(s) de R$ ' + note + '.00');
value = value % note;
});
console.log('MOEDAS:');
value = parseInt(value * 100);
coins.forEach(coin => {
coin *= 100;
console.log(parseInt(value/coin) + ' moeda(s) de R$ ' + (coin/100).toFixed(2));
value = value % coin;
});
Cade os livros
Olá boa tarde! Caros colegas , alguém pode ajudar-me? É que o eclipse deixou de expor no console o resultado das variáveis. só expõe o nome delas. alguém pode dar-me uma dica?
Que voz relaxante kkkkk, otimo video
Rapaz se me ajudou muito vll
Fico feliz por ter ajudado, Ellen. Sucesso nos estudos!
E eu quase jogando o PC longe porque ele estava calculando 576/100 = 6
😂😂 Valeu!!!
Por nada 😂😂
@Mão no Código mano, engraçado que eu fiz um código que prestou certinho no eclipse, mas quando coloquei no uri deu erro.
Olha o código ai:
import java.util.Locale;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Locale.setDefault(Locale.US);
Scanner input = new Scanner(System.in);
double valor = input.nextDouble();
int numInt = 0;
// *(int) serve pra ignorar todo parte decimal de um numero*
System.out.println("NOTAS:");
numInt = (int) valor / 100;
System.out.println(numInt + " nota(s) de R$ 100.00");
valor = valor % 100;
numInt = (int) valor / 50;
System.out.println(numInt + " nota(s) de R$ 50.00");
valor = valor % 50;
numInt = (int) valor / 20;
System.out.println(numInt + " nota(s) de R$ 20.00");
valor = valor % 20;
numInt = (int) valor / 10;
System.out.println(numInt + " nota(s) de R$ 10.00");
valor = valor % 10;
numInt = (int) valor / 5;
System.out.println(numInt + " nota(s) de R$ 5.00");
valor = valor % 5;
numInt = (int) valor / 2;
System.out.println(numInt + " nota(s) de R$ 2.00");
valor = valor % 2;
System.out.println("MOEDAS:");
numInt = (int) valor / 1;
valor = valor % 1;
System.out.println(numInt + " moeda(s) de R$ 1.00");
numInt = (int) (valor / 0.5);
valor = valor % 0.5;
System.out.println(numInt + " moeda(s) de R$ 0.50");
numInt = (int) (valor / 0.25);
valor = valor % 0.25;
System.out.println(numInt + " moeda(s) de R$ 0.25");
numInt = (int) (valor / 0.10);
valor = valor % 0.10;
System.out.println(numInt + " moeda(s) de R$ 0.10");
numInt = (int) (valor / 0.05);
valor = valor % 0.05;
System.out.println(numInt + " moeda(s) de R$ 0.05");
numInt = (int) (valor / 0.01);
System.out.println(numInt + " moeda(s) de R$ 0.01");
input.close();
}
}
no final eu tive que usar o seu mesmo kkkkkkk
Realmente funcionou salvei como opção.
Ô cara (audio do video kkkk) Você manja de C, tem uma coisa que não to entendendo o por que ele converte e devolve um numero n - 1 em relação ao numero antes de ser convertido.
Me manda seu código pra que eu possa analisar
@@canalmaonocodigo www.dropbox.com/s/mt8evwos9l98rtn/uri_1021.c?dl=0
Po, fiz uma lógica levemente diferente, que retornava o mesmo resultado, e a Uri não aceitava de jeito nenhum rsrs, da uma olhada:
aux = (int) (value / 100);
value = value - (aux * 100);
System.out.println(aux + " nota(s) de R$ 100.00");
Será que tem a ver com o tempo de processamento?
EM TRÊS LINHAS AÍ PARA VOCÊS:
n = [float(input()), ["NOTAS:", 100, 50, 20, 10, 5, 2, "MOEDAS:", 1, 0.50, 0.25, 0.10, 0.05, 0.01]]
for number in n[1]:
print(number) if isinstance(number, str) else print(f"{int(n[0] / number)} {'nota(s)' if number > 1 else 'moeda(s)'} de R$ {number:.2f}")
if not isinstance(number, str): n[0] = round(n[0] % number, 2)
Fiz de uma outra forma. O resultado da certinho, porem o site não ta aceitando de forma alguma kkk sempre aparece que ta totalmente errado.
package Problemas;
import java.util.Locale;
import java.util.Scanner;
public class ex1021 {
public static void main(String[] args) {
/*
* Leia um valor de ponto flutuante com duas casas decimais. Este valor
* representa um valor monetário. A seguir, calcule o menor número de notas e
* moedas possíveis no qual o valor pode ser decomposto. As notas consideradas
* são de 100, 50, 20, 10, 5, 2. As moedas possíveis são de 1, 0.50, 0.25, 0.10,
* 0.05 e 0.01. A seguir mostre a relação de notas necessárias.
*/
Locale.setDefault(Locale.US);
Scanner input = new Scanner(System.in);
double valor = input.nextDouble();
System.out.println("NOTAS:");
System.out.printf("%.0f nota(s) de R$ 100.00
", Math.floor(valor / 100));
valor = valor % 100;
System.out.printf("%.0f nota(s) de R$ 50.00
", Math.floor(valor / 50));
valor = valor % 50;
System.out.printf("%.0f nota(s) de R$ 20.00
", Math.floor(valor / 20));
valor = valor % 20;
System.out.printf("%.0f nota(s) de R$ 10.00
", Math.floor(valor / 10));
valor = valor % 10;
System.out.printf("%.0f nota(s) de R$ 5.00
", Math.floor(valor / 5));
valor = valor % 5;
System.out.printf("%.0f nota(s) de R$ 2.00
", Math.floor(valor / 2));
valor = valor % 2;
System.out.println("MOEDAS:");
System.out.printf("%.0f moeda(s) de R$ 1.00
", Math.floor(valor / 1));
valor = valor % 1;
System.out.printf("%.0f moeda(s) de R$ 0.50
", Math.floor(valor / 0.50));
valor = valor % 0.50;
System.out.printf("%.0f moeda(s) de R$ 0.25
", Math.floor(valor / 0.25));
valor = valor % 0.25;
System.out.printf("%.0f moeda(s) de R$ 0.10
", Math.floor(valor / 0.10));
valor = valor % 0.10;
System.out.printf("%.0f moeda(s) de R$ 0.05
", Math.floor(valor / 0.05));
valor = valor % 0.05;
System.out.printf("%.0f moeda(s) de R$ 0.01
", Math.floor(valor / 0.01));
input.close();
}
}
tambem fiz de outra forma e deu certo, infelizmente a vida e triste