社区
新手乐园
帖子详情
研究生复试的时候老师出的一道算法题,我觉得比较有意思,就来晒晒,看看高人见解。
木乃伊x
2011-09-05 04:10:46
加精
“只用赋值、加1、循环三个操作实现一个减1的运算。”
上面是原话,老师就给那么多信息,没有别的话了。
高人们有代码的可以贴代码,随便你用什么语言,没代码的说说清楚思路也行。顺便帮忙看看哪些答案有错误啊。
...全文
11072
212
打赏
收藏
研究生复试的时候老师出的一道算法题,我觉得比较有意思,就来晒晒,看看高人见解。
“只用赋值、加1、循环三个操作实现一个减1的运算。” 上面是原话,老师就给那么多信息,没有别的话了。 高人们有代码的可以贴代码,随便你用什么语言,没代码的说说清楚思路也行。顺便帮忙看看哪些答案有错误啊。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
212 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ALexSgc1
2013-04-02
打赏
举报
回复
众人的思想是伟大的!不过这道题没有算法的东西吧?有的话难道就是时间复杂度?
风吹无迹雨落无痕
2012-05-28
打赏
举报
回复
[Quote=引用 100 楼 的回复:]
引用 98 楼 xiaofengeee 的回复:
引用 86 楼 teatimel 的回复:
a = -a;
a++;
a = -a;
只有赋值和加一 没用循环 算不算?
a=0的时候不正确
你确定?
[/Quote]
在机器中,数据是以补码形式存放的!所以-0和0的补码是不同的,如果a = 0 ,那么 a = -a , a++ 后就早已不是我们所熟知的数据了!
其实这道题是一个穷举越界的问题!每一种数据存放都有一定的位数限制,一旦超过所限制的位数,那么它就回到那种类型的最小值,从头开始加起,所以“ for (i; (i + 1) != a; i++) ”是可以找到最终答案的!即一楼的做法最终可以找到答案!
tanwenhai123
2012-03-23
打赏
举报
回复
不清楚什么意思。。。。。。
vagrant_star
2012-02-21
打赏
举报
回复
看懂了~~差距啊~~
不老神仙
2011-11-03
打赏
举报
回复
学习学习 咋看一眼
t912428723
2011-09-30
打赏
举报
回复
#include "stdio.h"
void main()
{
int a,i;
printf("输入:");
scanf("%d",&a);
for(i=0;i<a;i++)
{
if(i+1==a)
{
printf("%d,%d\n",a,i);
}
}
}
这样行不行..........
codesnail
2011-09-22
打赏
举报
回复
老师脑子进水了。。。。。。
wangchao_
2011-09-15
打赏
举报
回复
[Quote=引用 27 楼 xb_feng 的回复:]
这题目不是C语言题目,也不是考算法,而是考你计算机整数处理的基本概念
先要看整数是多长的,假设是16位的,那么循环65535次的加一,就是减一
对于n比特宽的整数,循环2^n - 1次加一,就是减一。
[/Quote]
有点理解,但又不是很理解。。。
wangchao_
2011-09-15
打赏
举报
回复
这个问题有什么实际意义?
坦荡荡与常戚戚
2011-09-15
打赏
举报
回复
神马意思 还没看懂
BuleRiver
2011-09-15
打赏
举报
回复
[Quote=引用 86 楼 teatimel 的回复:]
a = -a;
a++;
a = -a;
只有赋值和加一 没用循环 算不算?
[/Quote]
这个不行吧,因为用到了负号操作符。
littleubuntu
2011-09-14
打赏
举报
回复
[Quote=引用 100 楼 teatimel 的回复:]
引用 98 楼 xiaofengeee 的回复:
引用 86 楼 teatimel 的回复:
a = -a;
a++;
a = -a;
只有赋值和加一 没用循环 算不算?
a=0的时候不正确
你确定?
[/Quote]
帅
hussar029
2011-09-14
打赏
举报
回复
是不是就让i溢满后重新来一遍?
coldyeah
2011-09-14
打赏
举报
回复
楼主可以用补码呀
wen858636827
2011-09-14
打赏
举报
回复
俺什么都不知道 就是来学习的
nofuck
2011-09-14
打赏
举报
回复
需求不明确,玩文字游戏,也就是专家喜欢了
cheniwantyou
2011-09-14
打赏
举报
回复
什么鸟鸡巴问题
juxie1984
2011-09-14
打赏
举报
回复
楼主过了么
pangfan09
2011-09-14
打赏
举报
回复
[Quote=引用 27 楼 xb_feng 的回复:]
这题目不是C语言题目,也不是考算法,而是考你计算机整数处理的基本概念
先要看整数是多长的,假设是16位的,那么循环65535次的加一,就是减一
对于n比特宽的整数,循环2^n - 1次加一,就是减一。
[/Quote]
这个是关键
flying0314
2011-09-14
打赏
举报
回复
不是吧,复试就考这些?
加载更多回复(192)
哈工大计算机
复试
真
题
哈尔滨工业大学计算机近几年
复试
真
题
。包括
题
目汇总等,需要的同学就来下载吧。
华为
复试
面试
题
啊啊啊啊
华为
复试
题
,有下的就来下吧啊啊啊啊啊啊啊啊啊啊啊啊
软件测试常见面试
题
软件测试常见面试
题
第1讲 课程介绍 第2讲 面试
题
1~4:自我介绍,测试流程,需求评审,印象深刻的BUG 第3讲 面试
题
5~9:职业规划,加班如何看待,用例执行等等 第4讲 面试
题
10~13:您还有什么要问的吗,接口测试怎么...
考研
复试
算法
分析总结(持续更新)
自己在准备
研究生
复试
时,总结的一些
算法
思路以及
算法
的例子,希望对大家有帮助,如果有
出
错的地方欢迎提issure. github地址:GitHub 主流
算法
1.搜索(回溯) 2.DP(动态规划)3.贪心 4.图论(Dijkstra、最小生成树、网络流) 5.数论 6.计算几何 7.组合数学 8.模拟 9.数据结构 10.博弈论 手把手撕LeetCode
题
目,扒各种
算法
套路的裤子 https://github.com/labuladong/fucking-algorithm
算法
分析
算法
分析是对
算法
所用的
长沙理工大学计算机
研究生
复试
笔试编程
题
F0803
从2015年开始,长沙理工大学计算机
研究生
复试
考试科目将566改成现在的F0803,这里列举的是15~19年的编程
题
题
目和答案。 统计了一下有2个C++的
题
目,其余为C语言
题
目。 2015年 //1.求
出
10至1000之内能同时被2、3、7整除的数,并输
出
。 #include<stdio.h> int main() { int i; for (i=10;i<=1000;i++...
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章