TOPIC

PROBLEM 1020 - URI Fórum 1.0

URI Online Judge asked 7 years ago

URI Online Judge Fórum 1.0

MOD

This topic was solved and cannot recieve new replies.

  • Rachel Cesso replied 4 years ago

    Não consigo encontrar o meu erro

    #include <stdio.h>
    
    int main() {
    int idadedias, ANO, MES, DIA;
    
    scanf("%d",&idadedias);
    
    ANO = idadedias/365;
    MES = (idadedias%365)/30;
    DIA = (idadedias%365)%30;
    
    printf("%d ano(s)\n",ANO);
    printf("%d mes(es)\n",MES);
    printf("%d dia(s)\n ",DIA);
    
        return 0;
    }
  • Rennê Jesus replied 3 years ago

    dias = int(input())

    x = dias // 365 y = dias % 365 / 30 z = dias % 365 % 30

    print("%d ano (s)" %x) print("%d mes (es)" %y) print("%d dia (s)" %z)

    ta dando Presentation error. alguem sabe me dizer o que esta errado ?

  • Erich Rodrigues replied 6 years ago

    Olá, teste com os valores(compare as respostas com o toolkit):

    1
    29
    31
    59
    365
    3650

    Se isso não ajudar poste o seu código aqui.

    MOD
  • Gustavo Marini replied 3 years ago

    Troque a saída por:

    print("%d ano(s)\n%d mes(es)\n%d dia(s)" % (Y, M, D))

    O único problema eram os espaços que tinham após mostrar cada linha.

    MOD
  • Rennê Jesus replied 3 years ago

    muuuuuuuuuuuito obrigado rs parada boba que a gente da mole rs

  • Gustavo Marini replied 3 years ago

    Você está incluindo espaços entre as palavras e o parêntese de abertura. A saída deve ser assim:

    print("%d ano(s)" %x)
    print("%d mes(es)" %y)
    print("%d dia(s)" %z)
    MOD
  • Erick Vieira Santos de Oliveira replied 3 years ago

    Obrigado!

  • Erick Vieira Santos de Oliveira replied 3 years ago

    Olá, Minha submissão em Python 3 está dando "Presentation Error". Poderiam averiguar o por quê?

    D = int(input())
    Y = 0
    M = 0
    
    while (D >= 365):
        D -= 365
        Y += 1
    
    while (D >= 30) and (D < 365):
        D -= 30
        M += 1
    
    print("%d ano(s) \n%d mes(es) \n%d dia(s)" % (Y, M, D))
  • Thiago Carnevalli replied 3 years ago

    Então, os resultados saem exatamente como deveriam porém todos os envios retornam 'Wrong answer (10%)'. Revisei o código diversas vezes e não encontro o erro. Conseguem me auxiliar?

    1021

    valor = float(input('')) notas100 = valor//100 valor = valor%100 notas50 = valor//50 valor = valor%50 notas20 = valor//20 valor = valor%20 notas10 = valor//10 valor = valor%10 notas5 = valor//5 valor = valor%5 notas2 = valor//2 valor = valor%2 moedas1 = valor//1 valor = valor%1 moedas50 = valor//0.50 valor = valor%0.50 moedas25 = valor//0.25 valor = valor%0.25 moedas10 = valor//0.10 valor = valor%0.10 moedas5 = valor//0.05 valor = valor%0.05 moedas01 = valor//0.01 valor = valor%0.01

    print('NOTAS:') print('%d nota(s) de R$ 100.00' %notas100) print('%d nota(s) de R$ 50.00' %notas50) print('%d nota(s) de R$ 20.00' %notas20) print('%d nota(s) de R$ 10.00' %notas10) print('%d nota(s) de R$ 5.00' %notas5) print('%d nota(s) de R$ 2.00' %notas2) print('MOEDAS:') print('%d moeda(s) de R$ 1.00' %moedas1) print('%d moeda(s) de R$ 0.50' %moedas50) print('%d moeda(s) de R$ 0.25' %moedas25) print('%d moeda(s) de R$ 0.10' %moedas10) print('%d moeda(s) de R$ 0.05' %moedas5) print('%d moeda(s) de R$ 0.01' %moedas01)

  • 🧙The Install Wizard 🧙 replied 4 years ago

    você escreveu dias errado.

  • Unknown replied 4 years ago

    Galera diferente de muita gente aqui, eu estava tentando calcular o resto da seguinte forma.

    { int E;

    cin >> E;
    
    int anos = (int) E / 365.0; 
    
    cout << anos << END;
    
    E = E - 365 * anos; 
    
    int meses = (int) E / 30.0;
    
    E = E - 30.0 * meses; 
    
    int dias; 
    
    dias = E; 
    
    cout << anos << " ano(s)"  << END; 
    cout << meses << " mes(es)"  << END; 
    cout << dias << " dias(s)"  << END; 

    Acho engraçado que n vi um caso de teste errado mas dá WA 40%. Vou fazer do outro, mas n vejo diferença.

  • xelo219 replied 4 years ago

    int main()
    {
            int diadoacesso,mesdeacesso,anodeacesso,dias_totais,N,M,X,ano_novo,mes_novo,dia_novo;
            scanf("%d/%d/%d %d %d %d",&diadoacesso,&mesdeacesso,&anodeacesso,&N,&M,&X);
            dias_totais=(N*anodeacesso*M) + (mesdeacesso*N) + diadoacesso + X_base10;
    
        ano_novo=dias_totais/(N*M);
        mes_novo=(dias_totais%(N*M*ano_novo))/(N);
        dia_novo=(dias_totais-(N*M*ano_novo)-(mes_novo*N));
    
        //Data do evento no calendario do planeta analisado.
        printf("%d/%d/%d",dia_novo,mes_novo,ano_novo);
    
        //system ("PAUSE")
        return 0;
    }

    Pessoal,nao sei mexer direito no fórum então me desculpem qualquer coisa, Preciso urgente de ajuda com esse código em C,que deve ler uma data no formato d/m/a e tres numero N M X,sendo que N é o numero de dias em um mes de certo calendario,M é o numero de meses em um ano de certo calendario e X representa o numero de dias para um certo evento acontecer.O programa precisa retornar a data que o evento vai ser nesse calendario,porem quando eu tento colocar um numero de dias totais igual ao numero de dias que tem no ano,o programa retorna mes 0 e dia 0.Preciso resolver isso!! exemplo pra ajudar: 12/3/2016 30 12 67=======> deve retornar 19/5/2016 3/1/1 12 3 13 retorna 4/2/1 A propósito,nao posso usar if,vetores,outras condicionais e comandos de repeticao,apenas variaveis inteiras.

  • Terence Marinho replied 4 years ago

    Boa tarde! Você não está printando a saída conforme o enunciado do exercício. Verifique as letras maiúsculas e as tabulações desnecessárias.

    MOD
  • Aleff replied 4 years ago

    Porque meu código não foi aceito

    int dia;
    int ano,meses,dias;
        printf("Digite os dias:\n");
        scanf("%d",&dia);
        ano=dia/365;
        meses=(dia%365)/30;
        dias=(dia%365)%30;
    
        if ("%d",ano<1){
            meses=(dia/30)%30;
            dias=(dia%30)%30;
    
            if("%d",meses==12){
            printf("Nao permitido");
            return 0;}
            printf("\n\t%d Ano(s)\n\t",ano);
            printf("%d Mes(es)\n\t",meses);
            printf("%d Dia(s)",dias);
            return 0;
          }
        printf("\n\t%d Ano(s)\n\t",ano);
        printf("%d Mes(es)\n\t",meses);
        printf("%d Dia(s)",dias);
  • Gabriel Duarte replied 4 years ago

    Tem um 's' a mais na sua resposta.

    Troque:

    printf("%i anos(s)\n",ano);

    Para:

    printf("%i ano(s)\n",ano);
    MOD
  • STrojan replied 4 years ago

    #include <stdio.h>
    
    int main() {
        int N, ano, mes, dia;
        scanf("%i", &N);
        ano = N/365;
        mes = (N%365)/30;
        dia = (N%365)%30;
        printf("%i anos(s)\n",ano);
        printf("%i mes(es)\n", mes);
        printf("%i dia(s)\n", dia);
    
        return 0;
    }

    O que tá errado? Está dando 40% WA!

  • Alex José Silva replied 4 years ago

    Resolvido em C

    int main(){
    
    int idade, ano, meses, dias;
    
    scanf("%i",&idade);
    
    ano   = idade/365;
    meses = (idade%365)/30;
    dias  = (idade%365)%30;
    
    printf("%i ano(s)\n",ano);
    printf("%i mes(es)\n",meses);
    printf("%i dia(s)\n",dias);
    
    return 0;
    }
  • Taynara Paulino replied 4 years ago

    Por favor, alguém pode me ajudar ?, não sei o que está errado ainda.

    import java.io.IOException;
    import java.lang.*;
    import java.util.Scanner;
    /**
     * IMPORTANT: 
     *      O nome da classe deve ser "Main" para que a sua solução execute
     *      Class name must be "Main" for your solution to execute
     *      El nombre de la clase debe ser "Main" para que su solución ejecutar
     */
    public class Main {
    
        public static void main(String[] args) throws IOException {
            int valor,ano = 0,mes = 0,dia = 0,num;
    
            Scanner tec = new Scanner(System.in);
    
             valor = tec.nextInt();
    
             num = valor - 365;
          if( num > 0){
             while(num == 365){
                num = num - 365;
                ano = ano + 1; 
             }
             while(num > 365){
                 num = num - 365;
                 ano = ano + 1;
             }
             while(num < 365 && num >= 30){
                 num = num - 30;
                 mes = mes + 1;
             }
                if(num == 30){
                   mes = mes + 1; 
                }
                else
                   if(num != 0){
                     dia = num;
                   }
          }
          else
            if(num == 0 ){
                ano = ano + 1;
            }
            else
               if(num < 0 ){
                   dia = valor;
               }
    
             System.out.printf("%d ano (s)",ano);
             System.out.printf("%d mes (es)",mes);
             System.out.printf("%d dia (s)\n",dia);
        }//main
    
    }//class Main
  • Taynara Paulino replied 4 years ago

    Tente tirar esta linha :

    System.out.println("Digite sua idade (em dias):");
  • Arthur Evangelista dos Santos replied 4 years ago

    Olá,

    Estou com o mesmo probblema do Wrong Answer. Um fenômeno engraçado tem ocorrido quando coloco 'mes(es)' acusa wrong answer (40%) e quando coloco 'mes(s)' acusa wrong answer (70%). Já não sei mais o que fazer. Algum colega poderia analisar meu código e dar-me uma luz sobre o problema que está dando? Estou fazendo o exercício em python3. Agradeço desde já à alma caridosa...

    idade = int(input())
    anos = int(idade / 365)
    meses = int((idade % 365) / 30)
    dias = int((idade % 365) % 30)
    print(str(anos) + ' anos(s)\n' + str(meses) + ' mes(s)\n' + str(dias) + ' dia(s)')

    PS.: com ou sem '\n' no final também tem dado resposta errada... Tentei os exemplos de entradas postadas aqui neste tópico e as saídas estavam corretas no terminal :<

1 of 4