Jump to content
Fórum Script Brasil
  • 0

Problema Decompor Valor URI Online


lineavila

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...