A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM张博文 高级黑马   /  2013-5-18 20:35  /  1861 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小悟空 于 2013-5-18 21:13 编辑

两条直线最多可以有1个交点,三条直线最多可以有3个交点,4条直线最多可以有6个交点,问:n条直线最多可以有多少个交点?(n>2,n是整数)

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

7 个回复

倒序浏览
隐约记得高中数学老师说过,怎么用表达式写出全忘了,愧对老师啊
回复 使用道具 举报
平面内有2条直线两两相交最多可以得到1个交点,
平面内有3条直线两两相交最多可以得到1+2=3个交点,,(即第四条直线与前面每条直线都相交)
平面内有4条直线两两相交最多可以得到1+2+3=6个交点,(即第四条直线与前面每条直线都相交)
平面内有5条直线两两相交最多可以得到1+2+3+4=10个交点,,(即第四条直线与前面每条直线都相交)
......
所以平面内有n条直线两两相交最多可以得到1+2+3+...+n-1=(1+n-1)*(n-1)/2=(n*n-n)/2个交点

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

回复 使用道具 举报
推理一下就知道了啊。

捕获.JPG (25.48 KB, 下载次数: 0)

捕获.JPG

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 张洪慊 于 2013-5-18 21:08 编辑

多条直线最多交点即两两相交,这里组合知识
即C(n,2)=n*(n-1) / 2 (C(n,2)从n条直线中任意选两个)
如果程序实现的话: (简单写下)
  1. import java.util.Scanner;
  2. class TestChar{
  3.         public static void main(String[] args){
  4.           Scanner scan=new Scanner(System.in);//用下扫描器
  5.            while(scan.hasNextInt()){//输入非int值循环结束
  6.              int n=scan.nextInt();
  7.                  System.out.println(n*(n-1)/2);
  8.             }
  9.        scan.close();
  10.         }

  11. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

回复 使用道具 举报
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
回复 使用道具 举报
请问怎么修改分类?
回复 使用道具 举报
我是松鼠 发表于 2013-5-18 22:52
请问怎么修改分类?

在你的发帖里面点“编辑”
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马