|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 看到一道有意思的题:累加求和,不能用乘除、if,for,while,case,等及条件语句
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2193
人关注过本帖
标题:
看到一道有意思的题:累加求和,不能用乘除、if,for,while,case,等及条件语 ...
只看楼主
加入收藏
wp231957
来 自:神界
等 级:
贵宾
威 望:
423
帖 子:13688
专家分:53332
注 册:2012-10-18
第
11
楼
收藏
得分:0
回复 10楼 孤狼A组
vc60 该淘汰就淘汰吧
不要舍不得
DO IT YOURSELF !
2015-10-28 14:05
举报帖子
使用道具
赠送鲜花
wfoo
等 级:
论坛游侠
威 望:
7
帖 子:120
专家分:134
注 册:2011-8-6
第
12
楼
收藏
得分:0
有意思的题目,
int fun(int n) /* n 必须为正数
*/
{
return (n == 1) ||
n + fun (n-1) ;
}
应该可以吧。其实这种题目用函数式写更清楚,n 必须非负
fun 0 = 0
fun n = n + fun (n-1)
2015-10-28 17:06
举报帖子
使用道具
赠送鲜花
wfoo
等 级:
论坛游侠
威 望:
7
帖 子:120
专家分:134
注 册:2011-8-6
第
13
楼
收藏
得分:0
程序代码:
fun x | x <
0
= - fun (-x) | x ==
0
=
0
| x >
0
= x + fun (x-
1
)
这个函数式的代码比较完善。
2015-10-28 17:15
举报帖子
使用道具
赠送鲜花
wmf2014
等 级:
贵宾
威 望:
216
帖 子:2039
专家分:11273
注 册:2014-12-6
第
14
楼
收藏
得分:0
这代码是在知乎上复过来的,利用逻辑短路真的非常巧妙!12楼也是用逻辑短路,但没得到正确结果。
#include <stdio.h>
int f(int n)
{
n && (n += f(n - 1));
return n;
}
void main ()
{
printf("%d\n", f(100));
}
[此贴子已经被作者于2015-10-28 21:04编辑过]
能编个毛线衣吗?
2015-10-28 20:53
举报帖子
使用道具
赠送鲜花
wfoo
等 级:
论坛游侠
威 望:
7
帖 子:120
专家分:134
注 册:2011-8-6
第
15
楼
收藏
得分:0
确实我忽略了c语言中||
&&运算符会吧第2个表达式转为1,在表达式两边确实应该用两个赋值语句。
2015-10-28 22:23
举报帖子
使用道具
赠送鲜花
wfoo
等 级:
论坛游侠
威 望:
7
帖 子:120
专家分:134
注 册:2011-8-6
第
16
楼
收藏
得分:0
int fun(int n)
{
int step = -1;
n >= 0 || (step = 1);
n == 0 || (n = fun (n+step));
return n;
}
这种代码只有脚本中才会用到,代码没测试过,可能还是错的。
2015-10-28 23:24
举报帖子
使用道具
赠送鲜花
wfoo
等 级:
论坛游侠
威 望:
7
帖 子:120
专家分:134
注 册:2011-8-6
第
17
楼
收藏
得分:0
发完就发现错了,不改了,这个思路不管n为正或负都是可以的。
2015-10-28 23:28
举报帖子
使用道具
赠送鲜花
pycansi
等 级:
蜘蛛侠
威 望:
5
帖 子:418
专家分:1060
注 册:2012-7-26
第
18
楼
收藏
得分:0
不管什么实现方式,都必须暗含 if 的说
莫问前尘有愧,但求今生无悔
2015-10-28 23:47
举报帖子
使用道具
赠送鲜花
wfoo
等 级:
论坛游侠
威 望:
7
帖 子:120
专家分:134
注 册:2011-8-6
第
19
楼
收藏
得分:0
可以不要隐式if的,只要整数的位数确定的,乘法应该可以用位运算和加减法实现,除法可以用乘法实现。
2015-10-28 23:58
举报帖子
使用道具
赠送鲜花
pycansi
等 级:
蜘蛛侠
威 望:
5
帖 子:418
专家分:1060
注 册:2012-7-26
第
20
楼
收藏
得分:0
回复 19楼 wfoo
没有 if ,如何确定终止条件呢?
莫问前尘有愧,但求今生无悔
2015-10-30 00:10
举报帖子
使用道具
赠送鲜花
45
2/5页
1
2
3
4
5
快速回复:
看到一道有意思的题:累加求和,不能用乘除、if,for,while,case,等及条 ...
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.055732 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved