鍍金池/ 問答/C  C++  HTML/ 使用C遍歷大數(shù)字

使用C遍歷大數(shù)字

請幫忙寫一個簡單的C程序,我用來簡單的測試下JS、python、C的性能。

js代碼

var x = 10000000000
var n = 0;
for(var i = 0; i < x; i++){
   n+=i
}
console.log(n)
console.log('ok')

寫出這個遍歷邏輯的C類語言,謝謝。

只是簡單的把玩,不可較真,我寫的C語言,它會報出溢出錯誤。

#include <stdio.h>
int x = 10000000000;
int n = 0;
int main() {
    for(int i = 0; i<x; i++) n = n+i;
    printf("%d" ,n);
    printf("%s" ,": ok");
}
回答
編輯回答
使勁操

1+2+3+。。。+10000000000,這個算式的結(jié)果是5.0000000005E+19,太大了,已經(jīng)超了int型的范圍了。
如果只是測加法的時間,推薦用循環(huán)嵌套,類似這樣

for (int i = 0; i < 1000000; i++) {
    n = 0;
    for (int j = 0; j < 10000; j++) {
        n += j;
    }
}
2018年8月13日 02:40
編輯回答
何蘇葉

那把 x n 和 i 的聲明都換成 double

但這樣做最后的結(jié)果可能會和真實結(jié)果有誤差

2018年3月13日 11:29