如何通過C語言計(jì)算Georg Cantor表中第n項(xiàng)的值
Georg Cantor表證明了有理數(shù)是可以枚舉的,現(xiàn)在給出一個(gè)數(shù)字在表中的編號n,請輸出表中該項(xiàng)的值。下面將以C語言為例,與大家分享操作經(jīng)驗(yàn)。 Georg Cantor表項(xiàng)的值及計(jì)算方法Georg
Georg Cantor表證明了有理數(shù)是可以枚舉的,現(xiàn)在給出一個(gè)數(shù)字在表中的編號n,請輸出表中該項(xiàng)的值。下面將以C語言為例,與大家分享操作經(jīng)驗(yàn)。
Georg Cantor表項(xiàng)的值及計(jì)算方法
Georg Cantor表中各項(xiàng)的值如下圖所示,第1項(xiàng)為1/1,第2項(xiàng)是1/2,第3項(xiàng)是2/1,第4項(xiàng)是3/1,第5項(xiàng)是2/2……,輸入某一項(xiàng)的編號,就可以計(jì)算出該項(xiàng)的值。
首先,定義所有用于計(jì)算的整型變量,如下圖所示。設(shè)置行數(shù)和某行前所有行的項(xiàng)數(shù)的初值,初值為0。輸入某一項(xiàng)的編號,保存在變量n中。用do-while語句執(zhí)行循環(huán),首先實(shí)現(xiàn)行數(shù)的累加。計(jì)算某一行之前的所有項(xiàng)的總數(shù),保存在變量sum中。do-while語句的條件是,某一行之前所有項(xiàng)的總數(shù),小于輸入的項(xiàng)目編號。計(jì)算輸入項(xiàng)所在行前一行之前的所有項(xiàng)目,從而計(jì)算出輸入項(xiàng)在該行的位置。用if語句判斷,如果為奇數(shù)行,所求項(xiàng)的分子為numr 1-l,分母為denl。如果為偶數(shù)行,所求項(xiàng)的分子為numl,分母為denr 1-l。最后,輸出Georg Cantor表第n項(xiàng)的值。
實(shí)現(xiàn)代碼運(yùn)行及結(jié)果輸出
運(yùn)行程序,輸入一個(gè)項(xiàng)目編號,電腦就輸出該項(xiàng)的值。這樣,我們可以通過C語言輕松計(jì)算出Georg Cantor表中任意項(xiàng)的值,進(jìn)一步理解這種有理數(shù)的枚舉性質(zhì)。