在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

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

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

請(qǐng)幫忙寫(xiě)一個(gè)簡(jiǎn)單的C程序,我用來(lái)簡(jiǎn)單的測(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')

寫(xiě)出這個(gè)遍歷邏輯的C類(lèi)語(yǔ)言,謝謝。

只是簡(jiǎn)單的把玩,不可較真,我寫(xiě)的C語(yǔ)言,它會(huì)報(bào)出溢出錯(cuò)誤。

#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,這個(gè)算式的結(jié)果是5.0000000005E+19,太大了,已經(jīng)超了int型的范圍了。
如果只是測(cè)加法的時(shí)間,推薦用循環(huán)嵌套,類(lèi)似這樣

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é)果可能會(huì)和真實(shí)結(jié)果有誤差

2018年3月13日 11:29