@@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.
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
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!
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: th-cam.com/play/PLDcyRsj3P9H1nkhT0wK-9eRnAq4Pax_w2.html :)
@@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
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; });
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
Aprenda a baixar e instalar o Java da forma correta: th-cam.com/video/Cq7gdAVPlF4/w-d-xo.html Acompanhe a Resolução de Exercícios pela Playlist: th-cam.com/video/qyTcgbHqotY/w-d-xo.html
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?
@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
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)
Ô 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.
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?
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(); } }
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
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
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.
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: th-cam.com/play/PLDcyRsj3P9H1nkhT0wK-9eRnAq4Pax_w2.html :)
@@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!
Bom e prático.
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;
});
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
Aprenda a baixar e instalar o Java da forma correta: th-cam.com/video/Cq7gdAVPlF4/w-d-xo.html
Acompanhe a Resolução de Exercícios pela Playlist: th-cam.com/video/qyTcgbHqotY/w-d-xo.html
Ótima explicação.
Valeu, Deyvid
Que voz relaxante kkkkk, otimo video
Thank You ❤
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 😂😂
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?
Cade os livros
@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.
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)
Ô 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?
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