Ir para conteúdo
Fórum Script Brasil
  • 0

Problema Decompor Valor URI Online


lineavila

Pergunta

Oi, pessoal. estou começando a aprender Python, tava resolvendo um problema no URI e cheguei nesse...

Leia um valor inteiro. A seguir, calcule o menor número de notas possíveis (cédulas) no qual o valor pode ser decomposto. As notas consideradas são de 100, 50, 20, 10, 5, 2 e 1. A seguir mostre o valor lido e a relação de notas necessárias.

Entrada

O arquivo de entrada contém um valor inteiro N (0 < N < 1000000).

Saída

Imprima o valor lido e em seguida a quantidade mínima de notas de cada tipo necessárias, conforme o exemplo fornecido. Não esqueça de imprimir o fim de linha após cada linha, caso contrário seu programa apresentará a mensagem: “Presentation Error”.

Realizei a solução, mas o URI me responde com "Wrong Answer". Sei que esse fórum não é de URI ou de algo especifico, mas eu não consigo criar tópico no fórum do mesmo e agradeceria muito se alguém pudesse e ajudar.

Minha solução foi essa:

N = int(raw_input())
print N
if (N >= 100):
    notaCem = N/100
    print '%i nota(s) de R$ 100,00' %notaCem
    N = N - (notaCem * 100)
    notaCinquenta = N/50
    print '%i nota(s) de R$ 50,00' %notaCinquenta
    N -= (notaCinquenta * 50)
    notaVinte = N/20
    print '%i nota(s) de R$ 20,00' %notaVinte
    N -= (notaVinte * 20)
    notaDez = N/10
    print  '%i nota(s) de R$ 10,00' %notaDez
    N -= (notaDez * 10)
    notaCinco = N/5
    print '%i nota(s) de R$ 5,00' %notaCinco
    N -= (notaCinco * 5)
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 50):
    notaCinquenta = N/50
    print '%i nota(s) de R$ 50,00' %notaCinquenta
    N -= (notaCinquenta * 50)
    notaVinte = N/20
    print '%i nota(s) de R$ 20,00' %notaVinte
    N -= (notaVinte * 20)
    notaDez = N/10
    print  '%i nota(s) de R$ 10,00' %notaDez
    N -= (notaDez * 10)
    notaCinco = N/5
    print '%i nota(s) de R$ 5,00' %notaCinco
    N -= (notaCinco * 5)
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 20):
    notaVinte = N/20
    print '%i nota(s) de R$ 20,00' %notaVinte
    N -= (notaVinte * 20)
    notaDez = N/10
    print  '%i nota(s) de R$ 10,00' %notaDez
    N -= (notaDez * 10)
    notaCinco = N/5
    print '%i nota(s) de R$ 5,00' %notaCinco
    N -= (notaCinco * 5)
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 10):
    notaDez = N/10
    print  '%i nota(s) de R$ 10,00' %notaDez
    N -= (notaDez * 10)
    notaCinco = N/5
    print '%i nota(s) de R$ 5,00' %notaCinco
    N -= (notaCinco * 5)
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 5):
    notaCinco = N/5
    print '%i nota(s) de R$ 5,00' %notaCinco
    N -= (notaCinco * 5)
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 2):
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 1):
    print '%i nota(s) de R$ 1,00' %N

Minhas saídas estão idênticas a do site, eu de fato não sei onde estou errando...

As saídas que o site me dá são:

Entrada:

576

Saída:

576
5 nota(s) de R$ 100,00
1 nota(s) de R$ 50,00
1 nota(s) de R$ 20,00
0 nota(s) de R$ 10,00
1 nota(s) de R$ 5,00
0 nota(s) de R$ 2,00
1 nota(s) de R$ 1,00

Entrada:

11257

Saída:

11257
112 nota(s) de R$ 100,00
1 nota(s) de R$ 50,00
0 nota(s) de R$ 20,00
0 nota(s) de R$ 10,00
1 nota(s) de R$ 5,00
1 nota(s) de R$ 2,00
0 nota(s) de R$ 1,00

Entrada:

503

Saída:

503
5 nota(s) de R$ 100,00
0 nota(s) de R$ 50,00
0 nota(s) de R$ 20,00
0 nota(s) de R$ 10,00
0 nota(s) de R$ 5,00
1 nota(s) de R$ 2,00
1 nota(s) de R$ 1,00

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Em 22/04/2015 at 11:00, lineavila disse:

Oi, pessoal. estou começando a aprender Python, tava resolvendo um problema no URI e cheguei nesse...

 

Leia um valor inteiro. A seguir, calcule o menor número de notas possíveis (cédulas) no qual o valor pode ser decomposto. As notas consideradas são de 100, 50, 20, 10, 5, 2 e 1. A seguir mostre o valor lido e a relação de notas necessárias.

Entrada

O arquivo de entrada contém um valor inteiro N (0 < N < 1000000).

Saída

Imprima o valor lido e em seguida a quantidade mínima de notas de cada tipo necessárias, conforme o exemplo fornecido. Não esqueça de imprimir o fim de linha após cada linha, caso contrário seu programa apresentará a mensagem: “Presentation Error”.

Realizei a solução, mas o URI me responde com "Wrong Answer". Sei que esse fórum não é de URI ou de algo especifico, mas eu não consigo criar tópico no fórum do mesmo e agradeceria muito se alguém pudesse e ajudar.

 

 

Minha solução foi essa:


N = int(raw_input())
print N
if (N >= 100):
    notaCem = N/100
    print '%i nota(s) de R$ 100,00' %notaCem
    N = N - (notaCem * 100)
    notaCinquenta = N/50
    print '%i nota(s) de R$ 50,00' %notaCinquenta
    N -= (notaCinquenta * 50)
    notaVinte = N/20
    print '%i nota(s) de R$ 20,00' %notaVinte
    N -= (notaVinte * 20)
    notaDez = N/10
    print  '%i nota(s) de R$ 10,00' %notaDez
    N -= (notaDez * 10)
    notaCinco = N/5
    print '%i nota(s) de R$ 5,00' %notaCinco
    N -= (notaCinco * 5)
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 50):
    notaCinquenta = N/50
    print '%i nota(s) de R$ 50,00' %notaCinquenta
    N -= (notaCinquenta * 50)
    notaVinte = N/20
    print '%i nota(s) de R$ 20,00' %notaVinte
    N -= (notaVinte * 20)
    notaDez = N/10
    print  '%i nota(s) de R$ 10,00' %notaDez
    N -= (notaDez * 10)
    notaCinco = N/5
    print '%i nota(s) de R$ 5,00' %notaCinco
    N -= (notaCinco * 5)
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 20):
    notaVinte = N/20
    print '%i nota(s) de R$ 20,00' %notaVinte
    N -= (notaVinte * 20)
    notaDez = N/10
    print  '%i nota(s) de R$ 10,00' %notaDez
    N -= (notaDez * 10)
    notaCinco = N/5
    print '%i nota(s) de R$ 5,00' %notaCinco
    N -= (notaCinco * 5)
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 10):
    notaDez = N/10
    print  '%i nota(s) de R$ 10,00' %notaDez
    N -= (notaDez * 10)
    notaCinco = N/5
    print '%i nota(s) de R$ 5,00' %notaCinco
    N -= (notaCinco * 5)
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 5):
    notaCinco = N/5
    print '%i nota(s) de R$ 5,00' %notaCinco
    N -= (notaCinco * 5)
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 2):
    notaDois = N/2
    print '%i nota(s) de R$ 2,00' %notaDois
    N -= (notaDois * 2)
    print '%i nota(s) de R$ 1,00' %N
elif (N >= 1):
    print '%i nota(s) de R$ 1,00' %N

Minhas saídas estão idênticas a do site, eu de fato não sei onde estou errando...

 

As saídas que o site me dá são:

 

Entrada:

576

Saída:

576
5 nota(s) de R$ 100,00
1 nota(s) de R$ 50,00
1 nota(s) de R$ 20,00
0 nota(s) de R$ 10,00
1 nota(s) de R$ 5,00
0 nota(s) de R$ 2,00
1 nota(s) de R$ 1,00

 

Entrada:

11257

Saída:

11257
112 nota(s) de R$ 100,00
1 nota(s) de R$ 50,00
0 nota(s) de R$ 20,00
0 nota(s) de R$ 10,00
1 nota(s) de R$ 5,00
1 nota(s) de R$ 2,00
0 nota(s) de R$ 1,00

 

Entrada:

503

Saída:

503
5 nota(s) de R$ 100,00
0 nota(s) de R$ 50,00
0 nota(s) de R$ 20,00
0 nota(s) de R$ 10,00
0 nota(s) de R$ 5,00
1 nota(s) de R$ 2,00
1 nota(s) de R$ 1,00

 

Estou com o mesmo problema.

Estou usando o Python 3.5

valor = int(input())

if (0 < valor < 1000000):
  valor100 = valor//100
  print ("%i" % valor100, "nota(s) de R$ 100,00")
  valor = valor - (valor100 * 100)
  valor50 = valor//50
  print ("%i" % valor50, "nota(s) de R$ 50,00")
  valor = valor - (valor50 *50)
  valor20 = valor//20
  print ("%i" % valor20, "nota(s) de R$ 20,00")
  valor = valor - (valor20 *20)
  valor10 = valor//10
  print ("%i" % valor10, "nota(s) de R$ 10,00")
  valor = valor - (valor10 *10)
  valor5 = valor//5
  print ("%i" % valor5, "nota(s) de R$ 5,00")
  valor = valor - (valor5 * 5)
  valor2 = valor//2
  print ("%i" % valor2, "nota(s) de R$ 2,00")
  valor = valor - (valor2 * 2)
  valor1 = valor//1
  print ("%i" % valor1, "nota(s) de R$ 1,00")
  valor = valor - (valor1 * 1)
elif (0 < valor < 1000000):
  valor50 = valor//50
  print ("%i" % valor50, "nota(s) de R$ 50,00")
  valor = valor - (valor50 *50)
  valor20 = valor//20
  print ("%i" % valor20, "nota(s) de R$ 20,00")
  valor = valor - (valor20 *20)
  valor10 = valor//10
  print ("%i" % valor10, "nota(s) de R$ 10,00")
  valor = valor - (valor10 *10)
  valor5 = valor//5
  print ("%i" % valor5, "nota(s) de R$ 5,00")
  valor = valor - (valor5 * 5)
  valor2 = valor//2
  print ("%i" % valor2, "nota(s) de R$ 2,00")
  valor = valor - (valor2 * 2)
  valor1 = valor//1
  print ("%i" % valor1, "nota(s) de R$ 1,00")
  valor = valor - (valor1 * 1)
elif (0 < valor < 1000000):
  valor20 = valor//20
  print ("%i" % valor20, "nota(s) de R$ 20,00")
  valor = valor - (valor20 *20)
  valor10 = valor//10
  print ("%i" % valor10, "nota(s) de R$ 10,00")
  valor = valor - (valor10 *10)
  valor5 = valor//5
  print ("%i" % valor5, "nota(s) de R$ 5,00")
  valor = valor - (valor5 * 5)
  valor2 = valor//2
  print ("%i" % valor2, "nota(s) de R$ 2,00")
  valor = valor - (valor2 * 2)
  valor1 = valor//1
  print ("%i" % valor1, "nota(s) de R$ 1,00")
  valor = valor - (valor1 * 1)
elif (0 < valor < 1000000):
  valor10 = valor//10
  print ("%i" % valor10, "nota(s) de R$ 10,00")
  valor = valor - (valor10 *10)
  valor5 = valor//5
  print ("%i" % valor5, "nota(s) de R$ 5,00")
  valor = valor - (valor5 * 5)
  valor2 = valor//2
  print ("%i" % valor2, "nota(s) de R$ 2,00")
  valor = valor - (valor2 * 2)
  valor1 = valor//1
  print ("%i" % valor1, "nota(s) de R$ 1,00")
  valor = valor - (valor1 * 1)
elif (0 < valor < 1000000):
  valor5 = valor//5
  print ("%i" % valor5, "nota(s) de R$ 5,00")
  valor = valor - (valor5 * 5)
  valor2 = valor//2
  print ("%i" % valor2, "nota(s) de R$ 2,00")
  valor = valor - (valor2 * 2)
  valor1 = valor//1
  print ("%i" % valor1, "nota(s) de R$ 1,00")
  valor = valor - (valor1 * 1)
elif (0 < valor < 1000000):
  valor2 = valor//2
  print ("%i" % valor2, "nota(s) de R$ 2,00")
  valor = valor - (valor2 * 2)
  valor1 = valor//1
  print ("%i" % valor1, "nota(s) de R$ 1,00")
  valor = valor - (valor1 * 1)
elif (0 < valor < 1000000):
  valor1 = valor//1
  print ("%i" % valor1, "nota(s) de R$ 1,00")
  valor = valor - (valor1 * 1)

Link para o comentário
Compartilhar em outros sites

  • 0

uri é o site urionlinejudge.com?

Wrong Answer  significa resposta errada, mesmo que a saída esteja correta, eles querem que você faça um código otimizado, ou tem alguma regra que você não respeitou

Como não sei se tem mais enunciado, eu aposto que é o código pouco otimizado

Tem muitas linhas desnecessárias no código

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...