[C语言] 非常基础的实践问题, 考验D版真电工
- wq_xenocide写个分数类呗
- LittleBlue
- godgunhand都等于0? iOS fly ~
- jckimi卧槽,我居然连题目都看不懂
- lance6716必须乘除吗,能不能加减
- beiwei就是如何处理计算误差
- wq_xenocide浮点数精度丢失问题这样应该是无解的。
- x8blazeA'是什么,不符合c语法,不能写个C么…
- lifanxiB的值要求等于t*x/y取整吗?如果要求好像无解,因为非整除情况下,丢弃了一些信息,后面不可能还原了。
- howlet这不就是加密解密吗
- ouyuu整数除法返回整数,绝大部分情况都存在浮点的取整。取整后逆运算不可能返回原先的数值。 iOS fly ~
- tyfsam直接return t不就完了吗 iOS fly ~
- beiwei你这样不行,convert里面有运算,这样把运算全部忽略了
- wq_xenocideLZ应该就是这意思,其实需要的不过是一个可逆运算的实现函数
- LittleBlue
- zeroxia所以你的语文还是体育老师教的,一楼的排版不说了,要求都说不清楚么。
- LittleBlue
- keetian
- happyd8699用异或,应该是可逆的,函数体:复制代码
- return t ^ x ^ y ;
- LittleBlue
- zeroxia回复23#LittleBlue
我真不知道,我的答案哪里不符合要求。 - LittleBlue回复24#zeroxia
好吧,你的解答非常完美,谢谢 - 屋大维22楼给出答案了。
楼主题目都没说清楚 iOS fly ~ - alvise可以直接用异或处理,要不然用set,。。
- LittleBlue
- 碧的绿我先给语文老师打个电话
- wangday
- LittleBlue
- 猫了个咪的你能把题目说的更清楚一点吗?
- zhdphao既然函数是取整,那么函数返回结果具有唯一性。
后面逆函数也具有结果唯一性。就不能保证能逆回去啊。 - lifanxi用全局变量或者静态变量来保存余数解决精度丢失问题的做法肯定能实现,但是写出这样的函数来的话,实在是毫无可读性。而且要解决多线程下的正确性问题还得付出更多的精力。
====
啥?题目改了?(如无法保证完全一样,请尽量接近)不要求A和A’一样了?那就有别的做法了。 - LittleBlue
- zhdphao回复37#LittleBlue
老实说题目不明觉厉,语体教。我当年考试,最怕看到这类题目。工作的第二家外资公司面试,C拿到了该公司有史以来最高分。
还不如生动的把工程实际问题摊开来,有个理解的语境。
如果要考虑溢出和余数,那像楼上有人说的,搞个全局变量就是典型的Ugly代码。 - wwwEagle
- LittleBlue
- LittleBlue
- wwwEagle
- happyd8699其实就是如何用最有效率的算法来处理这个乘法溢出和除法精度损失
最笨的办法就是用连加来实现乘法,用单独一个变量保存溢出的进位
用连减来模拟除法,保存进位的变量用于借位 - wrs这类题目科学计算的码农用得多,D版电工平时还真是大概率用不上。
- mewolf浮点精度我不会解 iPhone5 fly
- longwayhome回复1#LittleBlue
哈哈哈 iOS fly ~