TOPIC
PROBLEM 1002 - URI Fórum 1.0
This topic was solved and cannot recieve new replies.
-
Ericracia replied 4 years ago
Vocês poderiam me ajudar com o problema 1002 em Python? Já tentei 15 variações de código, todas funcionam no Terminal, mas não são aceitas no URI Judge.
pi = 3.14159 radio = float(input()) area = pi * (radio ** 2) print "A=%.4f" % area
-
Unknown replied 4 years ago
#include <stdio.h> int main() { float raio; double pi=3.14159, area; scanf("%.2f",&raio); area=pow(raio,2)*pi; printf("A= %.4f \n",area); return 0; }
Oi gente, o meu código está com 20% de erro. Alguém sabe aonde errei e como corrigir?
-
Fabio Gimene da Silva Souza replied 3 years ago
Estou com um problema!
Alguém poderia me ajudar.
Porque esse código não esta sendo aceito?Como devo limitar as casas decimais?
double area , raio , pi; pi = 3.1416; raio = Double.Parse(Console.ReadLine()); area = (pi * raio * raio); Console.WriteLine("A="+ area);
Obrigado!
-
victoride replied 4 years ago
Pessoal, não consigo submeter meu código, dando Presentation Error mesmo com o "\n":
R = float(input()) pi = 3.14159 A = pi * (R ** 2) print("A=%.4f\n" % A)
Alguém manja o porquê?
-
Leonardo Simoes replied 3 years ago
O principal problema pode ser resolvido colocando pi=3.14159, ou arredondando o valor de pi da biblioteca para 5 casas decimais, e na hora de imprimir exibir 4 casas decimais.
-
Isaac Alves replied 4 years ago
Estou programando em Python (2.7.10), e não importa o que eu faça eu sempre recebo Wrong Answer depois do submit, fiz uns 9 exercícios diferentes
Neste, por exemplo, "refactorei" o código de diversas formas até chegar a isso:
R = float(raw_input()) A = round(3.14159*R*R, 4) print 'A=%s' % A
e continuo recebendo Wrong Answer.
Alguma idéia do que pode estar acontecendo? Obrigado!
-
Isaac Alves replied 4 years ago
Estou programando em Python, e não importa o que eu faça eu sempre recebo Wrong Answer depois do submit, fiz uns 9 exercícios diferentes
Neste, por exemplo, "refactorei" o código de diversas formas até chegar a isso:
R = float(raw_input()) A = round(3.14159RR, 4) print 'A=%s' % A
e continuo recebendo Wrong Answer.
Alguma idéia do que pode estar acontecendo? Obrigado!
-
Gustavo Marini replied 4 years ago
MODSempre defina as variáveis de dupla precisão como double. Faça a leitura somente como "scanf("%lf", &raio);". Sendo assim, mude também a saída para "lf". Você também está recebendo Presentation Error, isso porque você está colocando alguns espaços a mais na linha de impressão. Deixe ela assim:
printf("A=%.4lf\n",area);
Feito isso, seu código passará.
-
Gustavo Marini replied 3 years ago
MODPara formatar as casas decimais do valor utilize:
Console.WriteLine("A="+ area.ToString("0.0000"));
E mais um detalhe, o valor que você definiu para PI não condiz com o que é informado no problema. Isso causa erros de precisão posteriores o que levará você a um Wrong Answer. Use 3.14159 para PI.
-
Vitor Martins Gonçalves replied 3 years ago
Boa tarde. Estou submetendo o código abaixo que já testei repetidas vezes no NetBeans e continua acusando erro no URI. Não sei o que está dando de errado (o nome do public class não é, pois sempre mudo para main no URI). O NetBeans está configurado para ler double como vírgula como separador (5,5240 por exemplo), enquanto no URI consta ponto (5.5240 por exemplo).
package teorialista1ex02d; import java.io.IOException; import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException { double raio; Scanner sc = new Scanner(System.in); raio = sc.nextDouble(); double area = (Math.PI * Math.pow(raio,2)); System.out.printf("A=%.4f\n", area); }
}
-
Gustavo Marini replied 4 years ago
MODOlá, bom, acredito que o erro esteja na precisão decimal da função round(). Não sei se existe alguma diferença entre a função ou fazer a precisão direta no print, mas talvez a output final do problema possa ser diferente devido ao round().
A = 3.14159*R*R print 'A=%.4f' % A
-
Unknown replied 4 years ago
includemain() { float raio; double Pi=3.14159, area;
scanf("%f",&raio); area= Pi*raio*raio; printf("A=%.4f\n",area);
}
onde errei?
-
Unknown replied 4 years ago
Testei com os Exemplos de Entrada. Dois deles geraram saídas ligeiramente diferentes dos Exemplos de Saída correspondentes.
Reveja os separadores passados ao DecimalFormat. E não esqueça da quebra de linha, que deve haver também na última linha da saída.
Exemplos e dicas úteis: Ajuda - URI Online Judge
-
João Vicente replied 4 years ago
public class JavaApplication9 {
public static void main(String[] args) { Locale.setDefault(Locale.US); Scanner ler = new Scanner(System.in); double R; R = ler.nextDouble(); double y; y = 3.14159 * (R*R); System.out.println("A=%.4f\n" + y); }
}
não consigo fazer ele ler duas casas decimais (20.20) e receber 4 (20.4000)
-
Unknown replied 4 years ago
740ink, troca o raio*raio pelo pow e coloca um espaço no printf
area=pow(raio,2)*pi printf("A= %.4f \n",area); return 0; //sempre coloque isso
-
Unknown replied 4 years ago
Independente do arredondamento, um número pode nem possuir decimais:
X=1 print 'Sem decimais: %s' % X
...e ainda assim ser exibido com elas:
X=1 print 'Três decimais: %.3f' % X
Alguns exemplos do uDebug tratam dessa questão.
-
Unknown replied 4 years ago
Você também estava no caminho certo. Existem várias formas de se chegar ao mesmo resultado.
Funcionaria com print ou println, mas para seguir o Exemplo de Saída, o formato de df não poderia conter a vírgula como separador de milhares: "0.0000"
-
João Vicente replied 4 years ago
Obrigado pela ajuda mas acabei descobrindo meu erro, não estava usando o System.out.printf e com isso não conseguia limitar os caracteres por "%.4f\n" e descobri a função do "Locale", enfim, de qualquer maneira agradeço a disposição.
-
João Vicente replied 4 years ago
Refiz o código e obtive a saída correta, porém fica dando wrong error 40%
import java.io.IOException; import java.text.DecimalFormat; import java.util.Locale; import java.util.Scanner;
public class Main {
public static void main(String[] args) { Locale.setDefault(Locale.US); Scanner ler = new Scanner(System.in); DecimalFormat df = new DecimalFormat("###,##0.0000"); double R = 0; double pi = 3.14159; R = ler.nextDouble(); double y; y = (pi * R*R); System.out.print("A="); System.out.print(df.format(y)); }
}
Alguém pode me ajudar? Abraços.