Re: [讨论] 大一教授出了OP的作业

楼主: flydragon198 (Richard)   2014-11-02 17:44:58
※ 引述《HaoCherHong (Hao-Cher Hong)》之铭言:
: (C语言)
: 题目是印出Fibonacci Number (费氏
: 例如: 输入 > 输出
: 1 > 1
: 2 > 1
: 3 > 2
: 4 > 3
: 真是简单 一个递回轻松搞定
: 诶等等
: 题目限制
: 只能用while, for循环, 不能递回、阵列(所以没有字串)、指标、switch... (他还没教的东西不能用)
: 嗯没关系 可以用循环慢慢加上去
: 轻松搞定
: 诶等等
: 输入范围是1~100
: F(100) = 354,224,848,179,261,915,075
: 要69个bit才放的下
: ....
: 连他还没教的unsigned long long 都放不下啊啊
: 原来老师想考我们大数处理 又不能递回阵列指标
: 这真的是大一生该遇到的作业吗 Orz
: 求解 Orz
简单写个范例 http://codepad.org/6Xbvkt7G
因为int大小没那么大,所以两者相加会造成错误
intA1 = 2147483647, intA2 = 2147483647, intA1 + intA2 = -2
把int拆开成两个部分存,答案应该会是
42949 67294
intB1 + intB2 = 42948 167294
所以要把后面的部分进位到前面,不能用array就多宣告几个变量
照这样的方式去修改,应该是可以完成作业,只是不能用array还蛮没意义的
因为多宣告几个变量跟宣告array其实一样意思
楼主: flydragon198 (Richard)   2014-11-02 18:00:00
啊,我没注意到原PO推文有写已实做........Orz
作者: HaoCherHong (Hao-Cher Hong)   2014-11-02 18:05:00
没关系 谢谢你 写得很清楚!!
作者: chobitskey (爱而塔)   2014-11-02 23:46:00
我刚刚算一下,好像只有29bit

Links booklink

Contact Us: admin [ a t ] ucptt.com