what do you mean by classic way?
登录 | 论坛导航 -> 华新鲜事 -> 求学狮城 | 本帖共有 4 楼,分 1 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  末页>>
作者:icky (等级:15 - 最接近神,发帖:7923) 发表:2007-04-25 11:33:42  楼主  关注此帖评分:
programming puzzlesWrite a "Hello World" program in 'C' without using a semicolon. (this is tricky) C/C++ : Exchange two numbers without using a temporary variable. (somehow classic way) C/C++ : Find if the given number is a power of 2. (somehow classic way) Write a program whose printed output is an exact copy of the source. Needless to say, merely echoing the actual source file is not allowed. (a bit hard to think) source: http://developers.slashdot.org/article.pl?sid=04/12/04/0116231
what do you mean by classic way?
C/C++ : Find if the given number is a power of 2.
(somehow classic way)

can i check bit by bit?
This page is intentionally left blank
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:icky (等级:15 - 最接近神,发帖:7923) 发表:2007-04-25 11:34:23  2楼
interesting... let me try 1&2...1. #include void main() { if (printf("hello world\n")) {} } 2. a=a+b; b=a-b; a=a-b;
oh, i was thinking using while
i did not know a pair of empty brackets can follow "if"
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:icky (等级:15 - 最接近神,发帖:7923) 发表:2007-04-25 12:56:54  3楼
(3) can be done by less than 5 instructionsBy classic (or classical?), I mean a lot of people use the method.
check equality with all 2's power
there are at most 32 of them...
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
作者:icky (等级:15 - 最接近神,发帖:7923) 发表:2007-04-25 16:46:35  4楼
can be simpler and faster
先模1<<16和除 1<<16
两边应该有一边是0,如果两边都不是0,一定就不是2的power了

然后把不为0的那一边再模1<<8和除1<<8

当然这里假设是unsigned int, 32bits
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版所有回复从这里展开收起列表
论坛导航 -> 华新鲜事 -> 求学狮城 | 返回上一页 | 本主题共有 4 篇文章,分 1 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  末页>>

请登录后回复:帐号   密码