免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yy_galois
打印 上一主题 下一主题

[C] 学习编程的几点看法 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2008-06-26 11:26 |只看该作者
原帖由 yy_galois 于 2008-6-25 20:57 发表
晕倒, 我这个题的意思是

把逻辑推理交给计算机,而把逻辑问题本身描述成计算机语言。

你们自己用头脑就已经把它解决了,那编程干嘛?


编程也要靠头脑的吧,  很经典的例子。 1+2+3+。。。+1000

你是肯定是用for(i = 1; i<= 1000; i++ )

论坛徽章:
0
42 [报告]
发表于 2008-06-26 11:28 |只看该作者
原帖由 voipexplore 于 2008-6-26 09:19 发表
呵呵 楼主只是举一个例子 说明语言只是一个手段
要说效率,当然我下面的程序效率最高:
int main()
{
    printf("甲是小偷,哈哈\n");
    return 0;
}
大家认为就问题论问题,上面的哪个有我的高效啊。

呵呵, 你这种解决方案,在某种场合是,未尝不是一个最佳方案.

论坛徽章:
0
43 [报告]
发表于 2008-06-26 11:35 |只看该作者
21楼的思路很赞, 不过写的隐晦了点
#include<stdio.h>
#include<string.h>

int x[4];   //4个标识,1表示强盗,0非强盗

int asay(){return x[0]==0?1:0;}  //甲说的是真的吗?

int bsay(){return x[3]==1?1:0;}
int csay(){return x[1]==1?1:0;}
int dsay(){return x[3]==0?1:0;}

void one_is_qiangdao(int one)   //假设某一个人是强盗

{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int i;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i<4;i++)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x[i] = 0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x[one]=1;
}

int main()
{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int i;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i<4;i++){  //按顺序假设谁是强盗

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;one_is_qiangdao(i);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(asay()+bsay()+csay()+dsay() == 1) //只有一个人说真话

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%d 是强盗\n", i);  //满足条件的假设

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;
}

论坛徽章:
0
44 [报告]
发表于 2008-06-26 11:44 |只看该作者
原帖由 204tian 于 2008-6-26 11:35 发表
21楼的思路很赞, 不过写的隐晦了点
#include
#include

int x[4];   //4个标识,1表示强盗,0非强盗

int asay(){return x[0]==0?1:0;}  //甲说的是真的吗?

int bsay(){return x[3]==1?1:0;}
int c ...


呵呵, 我是盖房子的,建好就行 是民工. 你是搞装修的, 要包装的华美.

论坛徽章:
24
15-16赛季CBA联赛之北京
日期:2018-08-17 18:43:33技术图书徽章
日期:2018-08-22 12:53:57技术图书徽章
日期:2018-08-22 12:54:20技术图书徽章
日期:2018-08-22 12:54:3015-16赛季CBA联赛之福建
日期:2018-10-19 16:58:1619周年集字徽章-庆
日期:2019-08-27 13:28:5619周年集字徽章-19
日期:2019-08-27 13:31:2619周年集字徽章-19
日期:2019-08-27 13:31:2615-16赛季CBA联赛之同曦
日期:2019-09-05 12:03:2819周年集字徽章-周
日期:2019-09-06 18:54:5415-16赛季CBA联赛之上海
日期:2018-07-25 11:55:2615-16赛季CBA联赛之青岛
日期:2018-07-10 14:13:18
45 [报告]
发表于 2008-06-26 15:26 |只看该作者
原帖由 yy_galois 于 2008-6-24 20:04 发表
很多人开始学习一种编程语言,典型的比如C语言,在学习到一定程度以后,比如已经能够熟练应用if else, while , for 等等语句编写程序解决简单的逻辑智力题等等,学着学着突然迷茫了,不知道C语言有什么作用。同 ...

说的不错, 最后的问题,不就是离散数学的问题吗?

论坛徽章:
0
46 [报告]
发表于 2008-06-26 16:08 |只看该作者
这个是小学澳数题吧,应该再30秒内给出答案的。。。

乙和丁说的是冲突的(互斥),所以真话者非乙即丁。所以甲丙说的都是假话。

可老甲说自己不是强盗。。。。。

论坛徽章:
0
47 [报告]
发表于 2008-06-26 16:52 |只看该作者
原帖由 Cocory 于 2008-6-26 16:08 发表
这个是小学澳数题吧,应该再30秒内给出答案的。。。

乙和丁说的是冲突的(互斥),所以真话者非乙即丁。所以甲丙说的都是假话。

可老甲说自己不是强盗。。。。。

强.本来分析题意的时候,也发现了这个特点,没往细想.呵呵,才发现自已真的是不如一个小学生了.
不过,这个解法,才真是中了LZ的一个话, 代替电脑完成了逻辑思维了. 计算机无法实现这种思维模式吧.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
48 [报告]
发表于 2008-06-26 17:02 |只看该作者
原帖由 zszyj 于 2008-6-26 16:52 发表

强.本来分析题意的时候,也发现了这个特点,没往细想.呵呵,才发现自已真的是不如一个小学生了.
不过,这个解法,才真是中了LZ的一个话, 代替电脑完成了逻辑思维了. 计算机无法实现这种思维模式吧.

传说中的 AMB 是可以的。

论坛徽章:
0
49 [报告]
发表于 2008-06-26 17:02 |只看该作者
原帖由 zszyj 于 2008-6-26 16:52 发表

强.本来分析题意的时候,也发现了这个特点,没往细想.呵呵,才发现自已真的是不如一个小学生了.
不过,这个解法,才真是中了LZ的一个话, 代替电脑完成了逻辑思维了. 计算机无法实现这种思维模式吧.


完全同意。我的这个是歪把子,你的解法才是正规军。术语叫什么来着。。。?建模?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
50 [报告]
发表于 2008-06-26 17:04 |只看该作者
合并到下一帖

[ 本帖最后由 flw 于 2008-6-26 17:06 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP