| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3064 人关注过本帖
标题:全班N个同学问总共可以握手几次?
只看楼主 加入收藏
给力小青年
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2011-11-20
结帖率:78.57%
收藏
 问题点数:0 回复次数:20 
全班N个同学问总共可以握手几次?
#include "stdio.h"
int main()
{
    int a, b;
    a = scanf("%d", &a);
    b = a * a / 2 ;
    printf("%d", b);
    getchar();
    return 0;
}
搜索更多相关主题的帖子: include return 
2011-12-20 23:32
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
a = scanf("%d", &a);scanf的返回值和a的值不是同一个值,回去看一下书。数学建模有这样一道题,题意转换一下就是多边行的点与对角线和边的关系。利用对角线和变得关系,就能求解。
或者利用提取的方式,先从第n个人开始握,有n-1次握手,再让第n-1哥握手,有n-2次握手(在不重复握手的前提下),以此类推,就出来了。
2011-12-21 07:47
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
以此类推就复杂了。
共有N个人,每个人将和别人握N-1次手。每次握手的参与者是两人,所以在累计握手次数时,同一次握手,在各人的角度将各计一次。
所以总的握手次数是N * (N - 1) / 2。这相当于N边形所有边和对角线的和。

重剑无锋,大巧不工
2011-12-21 08:51
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
类推也不难,有公式的。
2011-12-21 09:54
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
排列组合方面的公式,百度上应该有。
2011-12-21 09:55
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
回复 3楼 beyondyf
杨大哥讲的对 顶起

                                         
===========深入<----------------->浅出============
2011-12-21 10:00
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
深入<----------------->浅出

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2011-12-21 10:39
wuyanyouqing
Rank: 2
等 级:论坛游民
帖 子:14
专家分:26
注 册:2011-4-17
收藏
得分:0 
#include "stdio.h"
void main()
{
    int a, b;
    a = scanf("%d", &a);
    b = a * (a-1) / 2 ;
    printf("%d", b);
    getchar();
    return 0;
}
2011-12-21 15:39
qwermy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:34
专家分:160
注 册:2011-12-3
收藏
得分:0 
握手数sum = 0;
 第n个人握 n - 1 次;sum += n-1; 然后就 n = n - 1,  相当于少一个人;
 到 n = 2时 sum += n - 1;结束
    2, 3, 4, 5,……,n - 1。
    相加,一个等差数列;
    以上个人想法未论证
2011-12-21 19:40
小蝦米
Rank: 2
等 级:论坛游民
帖 子:38
专家分:88
注 册:2011-12-18
收藏
得分:0 
赞楼上,第一个人握n-1次手,第二个人已经和第一个人握了手,所以就握n-2次手,以此类推,第n-1个人只需要握一次手所有人就完成了不重复的握手,所以是1、2、3、4、5……n-1的等差数列
2011-12-21 20:48
快速回复:全班N个同学问总共可以握手几次?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012334 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved