gpt4 book ai didi

java - SPOJ ADDREV 问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:40:25 24 4
gpt4 key购买 nike

我确实浏览了关于这个 SPOJ 的其他话题问题,ADDREV (Adding Reversed Numbers),但遗憾的是,我无法通过我编写的三个程序(C、Python 和 Java)中的任何一个得到答案。我附上了所有三个的代码片段。

python :

    def find_rev(a):
d=0

while(a>=1):
d=d*10+a%10
a=a/10
return d

n=input('enter a number')
for i in range(int(n)):
num1=input('enter the first number')
num2=input('enter the second number')
num=0
num1=find_rev(int(num1))
num2=find_rev(int(num2))

num=num1+num2
num=find_rev(num)

print num

使用 Python,我遇到运行时错误。

对于 C,我得到了一个错误的答案。

    #include<stdio.h>
long rev(long);
int main()
{
long int n;
long int n1;
long int n2;
long int i=0;
scanf("%ld",&n);
//printf("%d",n);
for (i=0;i<n;i++)
{
//printf("\n%d",i);
//printf("\nenter the two numbers");
scanf("%ld%ld",&n1,&n2);

n = rev(rev(n1)+rev(n2));
printf("%ld\n",n);
}
return 0;
}

long rev(long a)
{
long d=0;
while(a>=1)
{
d = d*10+a%10;
a = a/10;
}
return d;
}

使用 Java,我遇到编译错误。

    import java.util.*;
//import java.io.*;
public class spoj_prob {

public static void main(String args[])
{
long n=0;
System.out.println("enter a number \n");
Scanner in=new Scanner(System.in);
n=in.nextLong();
long n1=0;
long n2=0;
long sum=0;
for (int i=0; i<n; i++)
{
System.out.println("enter two numbers \n ");
n1=in.nextLong();
n2=in.nextLong();
n1=rev(n1);
n2=rev(n2);
System.out.println(n1);
System.out.println(n2);
sum=rev(n1+n2);
System.out.println(sum);

}
}

static long rev(long a)
{
long d=0;
while (a>=1)
{
d=d*10+a%10;
a=a/10;
}
return d;

}
}
}

当然,这些错误是由 SPOJ 裁判报告的。这些程序在我的系统上运行良好。我使用的测试用例是:

    2

999999999 11

999 11

回答

    101
101

还有

    3

34 54

123 091

00034 00054

更新:伙计们,我在 C 中得到了答案。感谢您提供的所有帮助。

最佳答案

在您开始使用任何服务之前,阅读其 FAQ 通常是一件好事.它解释了程序应该如何接收数据。

请特别注意,向控制台打印enter a number 和其他垃圾信息总是会导致错误的答案。因为一个正确的程序会输出类似的东西

34
1998
1

还有你的

enter a number
enter two numbers
34
enter two numbers
1998
enter two numbers
1

不过,我不知道为什么 Java 无法编译。您可能应该找到一些有关如何使用引用解决方案以 Java 提交的信息。

此外,问题定义对输入数字没有限制,因此对于 Java 和 C++ 中的标准整数类型来说,它们可能太大了。

关于java - SPOJ ADDREV 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3661653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com