※ 引述《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其实一样意思