社区
数据结构与算法
帖子详情
长假将尽,来几道小题乐乐。
BlueSky2008
2003-10-07 12:13:19
1。判断一个整数是不是完全平方数。
2。判断一个整数是不是2的幂。
3。求一个32位整数开头有几个连续的0。
4。求m,n的最小公倍数。
要求:用c写,每个问题代码小于等于3行。不准用库函数。
答案旧贴找,找不着就不要怪我了:)
...全文
55
15
打赏
收藏
长假将尽,来几道小题乐乐。
1。判断一个整数是不是完全平方数。 2。判断一个整数是不是2的幂。 3。求一个32位整数开头有几个连续的0。 4。求m,n的最小公倍数。 要求:用c写,每个问题代码小于等于3行。不准用库函数。 答案旧贴找,找不着就不要怪我了:)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BlueSky2008
2003-10-15
打赏
举报
回复
总结一下:
1。判断一个整数是不是完全平方数。
bool check(int n)
{ int i;
for(i=1;n>0;i+=2)n-=i;
return n==0;
}
2。判断一个整数是不是2的幂。
bool ispow2(int n){
return !(n&(n-1));
}
3。求一个32位整数开头有几个连续的0。
int check(int n)
{int i;
for(i=0;n;i++)n>>=1;
return 32-i;}
4。求m,n的最小公倍数。
lcd(int int m){
for(int t=m;t%n;t+=m);
return t;
}
再加一个:
5。求一个无符号32位整数中有几个位是0。
numof0(unsigned int x){
for(int i=0; x; x &= x-1,i++);
return 32-i;
}
LeeMaRS
2003-10-09
打赏
举报
回复
to BlueSky2008 :
sorry..看得看快, 看走眼了, 另补一个函数就行.
int LCD(int m, int n)
{
return m * n / GCD(m, n);
}
^_^
kbsoft
2003-10-08
打赏
举报
回复
hehe,我的是求log(2)常数的,贴错了
NowCan
2003-10-07
打赏
举报
回复
是啊,改成字符数。
BlueSky2008
2003-10-07
打赏
举报
回复
to zzwu:我说的一行就是通常意义上的一行,不是胡子连着眉毛的一行。
其实每个问题核心代码只要一行就够了,加上函数声明,变量声明,返回语句,括号就放宽到5行吧。
像LeeMaRS的
2.
bool isValid(int m){
int t;
for(t = 1; t < m; t = t << 1);
return (t == m);
}
liuqing531(Sober) 的
1.
for(i=0; i<0x0100; i++)
if (num == i * i) return ture;
return false;
这样的就行了。(当然还有比这更好的)
to kbsoft:你那个程序求得是什么啊?
to LeeMarS: 4是求最小公倍数。
mmmcd
2003-10-07
打赏
举报
回复
1:
bool check(int n)
{int i;
for(i=1;n>0;i+=2)n-=i;
return n==0;}
3:
int check(int n)
{int i;
for(i=0;n;i++)n>>=1;
return 32-i;}
zzwu
2003-10-07
打赏
举报
回复
以行数为标志,恐怕难统计,因为几行可以合并写在一起,如:
for(i=0; i<0x0100; i++)
if (num == i * i) return ture;
return false;
可写成
for(i=0; i<0x0100; i++) if (num == i * i) return ture; return false;
ZhangYv
2003-10-07
打赏
举报
回复
好象旧贴里都有 :>
liuqing531
2003-10-07
打赏
举报
回复
1.
for(i=0; i<0x0100; i++)
if (num == i * i) return ture;
return false;
liuqing531
2003-10-07
打赏
举报
回复
3.
同2的思路。
左移与0x8000取或
liuqing531
2003-10-07
打赏
举报
回复
2.
for(int k=0; i != 0; i >>= 1) k += (i & 0x01);
return k == 1 ? ture : false
LeeMaRS
2003-10-07
打赏
举报
回复
2.
bool isValid(int m){
int t;
for(t = 1; t < m; t = t << 1);
return (t == m);
}
LeeMaRS
2003-10-07
打赏
举报
回复
3行指的应该是程序部分吧, 函数声明这些应该不算, 不然就XXOO了.
LeeMaRS
2003-10-07
打赏
举报
回复
4.
int GCD(int m, int n){
while (0 != n) {int t = m; m = n; n = t % n;}
return m;
}
kbsoft
2003-10-07
打赏
举报
回复
2.
main(){int a=1000,b=0,c=2658,d=75,f[2659],n=800,k;
for(;b<c;f[b++]=d,d=-d);
for(;n--;d+=*f*a,printf("%.3d",d/a),*f=d%a)
for(d=0,k=c;--k;d/=b,d*=k)f[k]=(d+=f[k]*a)%(b=8*k+4);}
555555,有4行
小
乐乐
和25
小
乐乐
特别喜欢25这个数字,他想把所有的数字都变成25的倍数。 现在小
乐乐
得到一个数字,想问问你最少用几次操作才可以把这个数字改造成25的倍数。 对于一次操作我们可以把相邻的两位做交换,比如123经过一次操作之后就可以变成213或者132。 题目描述 小
乐乐
特别喜欢25这个数字,他想把所有的数字都变成25的倍数。 现在小
乐乐
得到一个数字,想问问你最少用几次操作才可以把这个数字改造成25的...
HLG 1815 小
乐乐
大逃亡
Description 小
乐乐
刚装完化妆品,突然大地摇晃,藏宝洞开始崩塌。小
乐乐
连忙往外跑,可原本的洞口居然出现了一条河!还好,河面上有一排高低不一的木桩,每个木桩上有一只地鼠。当踩了一个高度的木桩后,高度小于等于它的木桩和它左边的木桩都会全部崩塌。小
乐乐
看见地鼠十分生气,因为反应并不迅捷的她,每每玩打地鼠的游戏时,总有一种被地鼠玩弄的感觉(一个都没打到……啊哈哈哈哈哈……)。所以小
乐乐
小
乐乐
和25(模拟)
链接:https://ac.nowcoder.com/acm/contest/301/J 来源:牛客网 题目描述 小
乐乐
特别喜欢25这个数字,他想把所有的数字都变成25的倍数。 现在小
乐乐
得到一个数字,想问问你最少用几次操作才可以把这个数字改造成25的倍数。 对于一次操作我们可以把相邻的两位做交换,比如123经过一次操作之后就可以变成213或者132。 输入描述: 多组数据输入 ...
小
乐乐
吃糖豆
链接:https://ac.nowcoder.com/acm/contest/302/G 来源:牛客网 题目描述 小
乐乐
是一个比较喜欢吃糖豆的小孩子,小
乐乐
的哥哥大
乐乐
也同样爱吃糖豆。 作为一个小孩子,他们永远觉得谁吃掉了最后一个糖豆,谁吃的糖豆最多。 为了公平起见小
乐乐
与大
乐乐
商量吃糖豆的规则如下: 1. 小
乐乐
与大
乐乐
轮流吃糖豆。 2. 小
乐乐
作为弟弟,...
sincerit 小
乐乐
吃糖豆
链接:https://ac.nowcoder.com/acm/contest/302/G 来源:牛客网 小
乐乐
是一个比较喜欢吃糖豆的小孩子,小
乐乐
的哥哥大
乐乐
也同样爱吃糖豆。 作为一个小孩子,他们永远觉得谁吃掉了最后一个糖豆,谁吃的糖豆最多。 为了公平起见小
乐乐
与大
乐乐
商量吃糖豆的规则如下: 小
乐乐
与大
乐乐
轮流吃糖豆。 小
乐乐
作为弟弟,小
乐乐
先吃糖豆。 小
乐乐
第一次可以吃任意不超过...
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章