[英]Java and Python return different sums and trying to compare with C++
为什么 Java 和 Python 会给出从 1 到 100 万的总和的不同输出。 我尝试了较小的数字,代码输出相同的结果,最多为 100 (5050)
Python
from datetime import datetime
start_time = datetime.now()
sum = 0
for i in range(1,1000000+1):
#print(i)
sum+=i
print(sum)
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))
爪哇
package sum_1_to_1000;
public class sum {
public static void main(String[] args) {
// TODO Auto-generated method stub
long startTime = System.currentTimeMillis();
int sum = 0;
for(int i = 1; i <= 1000000; i++){
//System.out.println(i);
sum+=i;
}
System.out.println(sum);
long endTime = System.currentTimeMillis();
long totalTime = endTime - startTime;
System.out.println(Math.pow(totalTime*10, -3));
}
}
我试图用 C++ 来做,但我仍在学习。 如何让下面的代码运行,并打印出运行时间? 有在线运行 C++ 的地方吗?
#include <iostream>
using namespace std;
int main(){
int sum = 0;
int i;
for(i = 1; i <=2; i++){
sum+=i;
}
printf("The Sum is: ", sum);
}
for(int i = 1; i <= 1000000; i++){
//System.out.println(i);
sum+=i;
}
真正的sum=(1+1000000)*500000=500000500000
,它大于Integer.MAX_VALUE (2^31-1)
我有朋友使用 repl.it https://repl.it/languages有很多语言可供您选择使用。 请记住您是在其他人的服务器上运行此程序,因此请注意敏感信息
此外,我过去曾使用 CodeChef.com 在线编译代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.