目录
寻找解决方案的方法
上述方法的 C++ 代码
示例
输出
上述代码的解释
结论
首页 后端开发 C++ 使用C++编写,找出由三条线上的一组点组成的三角形的数量

使用C++编写,找出由三条线上的一组点组成的三角形的数量

Sep 09, 2023 am 09:53 AM
c编写 线 三角形数量

使用C++编写,找出由三条线上的一组点组成的三角形的数量

现在我们得到了 3 行中存在的几个点;例如,我们需要找出这些点可以形成多少个三角形

Input: m = 3, n = 4, k = 5
Output: 205

Input: m = 2, n = 2, k = 1
Output: 10
登录后复制

我们将应用一些组合数学来解决这个问题,并制定一些公式来解决这个问题。

寻找解决方案的方法

在这种方法中,我们将设计一个公式:将组合学应用于当前情况,这个公式将为我们提供结果。

上述方法的 C++ 代码

这是我们可以用作求解的输入的 C++ 语法给定的问题 -

示例

#include <bits/stdc++.h>

#define MOD 1000000007

using namespace std;

long long fact(long long n) {
   if(n <= 1)
   return 1;
   return ((n % MOD) * (fact(n-1) % MOD)) % MOD;
}
long long comb(int n, int r) {
   return (((fact(n)) % MOD) / ((fact(r) % MOD) * (fact(n-r) % MOD)) % MOD);
}

int main() {
   int n = 3;
   int m = 4;
   int r = 5;
   long long linen = comb(n, 3); // the combination of n with 3.
   long long linem = comb(m, 3); // the combination of m with 3.
   long long liner = comb(r, 3); //the combination of r with 3.
   long long answer = comb(n + m + r, 3); // all possible comb of n, m , r with 3.
   answer -= (linen + linem + liner);
   cout << answer << "\n";
   return 0;
}
登录后复制

输出

205
登录后复制

上述代码的解释

在这种方法中,我们找到n+m+r与三个数的所有可能组合,即comb(n+m+r, 3)。现在,你知道,三个点成为一个三角形的条件是它们不能共线,所以我们找到了由n、m、r的组合求和得到的所有可能的共线点,然后将这个求和与n+m+r的三个数的变化相减,我们得到答案,并将其打印出来。

结论

本文讨论了如何通过应用组合数学来计算由三条线上的一组点可以形成多少个三角形。我们还学习了解决这个问题的C++程序和完整的方法(正常方法)。我们可以用其他语言如C、Java、Python和其他语言编写相同的程序。希望这篇文章对您有所帮助。

以上是使用C++编写,找出由三条线上的一组点组成的三角形的数量的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

使用C++编写,找出由三条线上的一组点组成的三角形的数量 使用C++编写,找出由三条线上的一组点组成的三角形的数量 Sep 09, 2023 am 09:53 AM

现在我们得到了3行中存在的几个点;例如,我们需要找出这些点可以形成多少个三角形Input:m=3,n=4,k=5Output:205Input:m=2,n=2,k=1Output:10我们将应用一些组合数学来解决这个问题,并制定一些公式来解决这个问题。寻找解决方案的方法在这种方法中,我们将设计一个公式:将组合学应用于当前情况,这个公式将为我们提供结果。上述方法的C++代码这是我们可以用作求解的输入的C++语法给定的问题-示例#include<bits/stdc++.h>#define

cad如何把线打断成几等分 cad如何把线打断成几等分 Feb 27, 2024 am 11:40 AM

在CAD设计过程中,我们经常需要将某条直线或曲线分割成几等分。这种需求在多种场景中都极为常见,如工程绘图、产品设计、城市规划等。例如,当需要在特定距离内均匀地布置灯柱,或在产品侧面上等距地设置螺丝时,等分分割功能就显得尤为重要。为了满足这种精确的分割需求,CAD软件为我们提供了多种工具和方法。那么究竟该如何打断线路呢,这篇教程攻略就将为大家带来详细的内容介绍,想要了解的用户们就快来下文中一起学习一下吧!cad把线打断成几等分方法分享1、打开CAD2023软件,创建CAD图形。如下图:2、点击修改

'丶”这个点用键盘怎么打出来? '丶”这个点用键盘怎么打出来? Feb 15, 2024 pm 01:51 PM

在使用键盘的打字的时候会有很多的用户比较好奇“丶”这个点用键盘是怎么打出来的?那么下面就来看一下小编给大家带来的键盘上打出这个“丶”符号的方法吧。一、“丶”点用键盘打出打出直接输入【dian】在选择栏上就会看到【丶】的标点符号。二、特殊符号在搜狗拼音输入法中,当切换至中文状态后,按下v键会出现一些特殊的符号。这些符号包括数字(如:v123)、日期(如:v2013/1/1)、算式(如:v1+1)和函数(如:v2~3)。这些符号可以方便地输入各种不同的信息。2.接着再按下数字键,0到9随便一个都可以

如何在Java中检查三个点是否共线? 如何在Java中检查三个点是否共线? Sep 05, 2023 pm 06:41 PM

如果三个点都位于一条直线上,则称这三个点共线。如果这些点不在同一条直线上,则它们不是共线点。这意味着如果三个点(x1,y1),(x2,y2),(x3,y3)在同一条直线上,则它们是共线的。其中,x1、y1、x2、y2、x3、y3是x轴和y轴上的点,(x1,y1)、(x2,y2)、(x3,y3)是坐标。数学上,有两种方法可以确定三个点是否共线。通过使用点求三角形的面积,如果三角形的面积为零,则三个点共线。Formulatofindareaoftriangle=0。5*[x1*(y2-y3)+x2*

使用C++编程,找到在网格中从一个点到另一个点的路径数量 使用C++编程,找到在网格中从一个点到另一个点的路径数量 Aug 29, 2023 pm 10:25 PM

在本文中,我们给出了一个问题,我们需要找到从点A到点B的总路径数,其中A和B是固定点,即A是网格中的左上角点,B是网格中的右下角点,例如−Input:N=5Output:252Input:N=4Output:70Input:N=3Output:20在给定的问题中,我们可以通过简单的观察来形式化答案并得出结果。寻找解决方案的方法在这种方法中,我们通过观察得出一个公式,即从A到B穿过网格时,我们需要向右行进n次,向下行进n次,这意味着我们需要找到所有可能的路径组合,因此我们得到了

安钛克650电源主板线接口的引脚数量是多少?(安钛克650电源接线图) 安钛克650电源主板线接口的引脚数量是多少?(安钛克650电源接线图) Jan 03, 2024 am 10:46 AM

安钛克650w主板线是几pin的安钛克650W电源主板的电源线通常是24pin的,这是主板上最大的电源接口。它的作用是连接主板和电源,为主板和其他系统组件提供电源。此外,安钛克650W电源还可能包含其他类型的电源接口,如CPU8pin、PCIe6+2pin等,用于连接CPU和独立显卡等其他组件。主板走线教程主板走线是指在设计主板时,将各个电子元件之间的电路连接起来的过程。在这个过程中,需要考虑电路的稳定性、信号传输的速度和准确性等因素。根据电路图进行走线时,需注意布局和选择合适的线宽和距离,避免

如何在Java中找到一条线的中点? 如何在Java中找到一条线的中点? Sep 02, 2023 pm 06:45 PM

假设(x1,y1)是线的起点,(x2,y2)是线的终点。要获得直线的中点,我们必须使用直线的中点公式。Midpoint=((x1+x2)/2,(y1+y2)/2)在本文中,我们将看到如何使用Java编程语言找到线段的中点,当线段的两个点已知时。展示给你一些实例实例1假设这两个点是(2,3)和(3,5)通过使用线段的中点公式,a=(x1+x2)/2=(2+3)/2=2.5b=(y1+y2)/2=(3+5)/2=4.0因此,直线的中点是(2.5,4.0)实例2假设这两个点是(2,-3)和(-3,5)

通过一个点的最大不同直线数在C中 通过一个点的最大不同直线数在C中 Aug 26, 2023 am 10:25 AM

我们得到每条线的数字N和两个点(x1,y1)和(x2,y2)的坐标。目标是从给定的直线中找到可以穿过单个点的最大直线数,使得没有两条直线相互覆盖,并且不执行旋转。我们将把直线表示为(对)m,c)其中y=mx+c,m是斜率m=y2-y1/x2-x1给定c1!=c2,具有相同m的线是平行的。我们将计算不同的坡度(米)。对于垂直线,如果x1=x2,则斜率=INT_MAX,否则为m。让我们通过示例来理解。输入 Line1(x1,y1)=(4,10)(x2,y2)=(2,2)Line2(x1,y1)=(2

See all articles