C程序:求解停靠站问题

c程序:求解停靠站问题

问题陈述– 一个程序,用于查找火车在 n 个车站中的 r 个车站停靠的方式,以便没有两个停靠站是连续的。

问题解释

该程序将计算火车停靠的方式数,即排列。在这里,火车将从点X行驶到Y。在这些点之间,有n个站点。列车将在这n个车站中的r个车站停靠,条件是在r车站停靠时,列车不应在连续两个车站停靠.

可以使用直接的 npr 公式找到此排列。

让我们举几个例子, p>

Input : n = 16 , r = 6Output : 462

登录后复制

解释 – 使用以下给出的排列公式找到火车可以在满足条件的 16 个站点中的 6 个站点停靠的方式数量:

npr 或 p(n, r) = n! ∕ (n-r)!

算法

Input  : total numbers of stations n and number of stations train can stop r.Step 1 : For values of n and r calculate the value of p(n,r) = n! / (n-r)!Step 2 : print the value of p(n,r) using std print method.

登录后复制

示例

现场演示

#includeint main(){   int n = 16, s = 6;   printf("Total number of stations = %d

Number of stopping station = %d

", s, n);   int p = s;   int num = 1, dem = 1;   while (p!=1) {      dem*=p;      p--;   }   int t = n-s+1;   while (t!=(n-2*s+1)) {      num *= t;      t--;   }   if ((n-s+1) >= s)      printf("Possible ways = %d", num / dem);   else      printf("no possible ways");}

登录后复制

输出

Total number of stations = 16Number of stopping station = 6Possible ways = 462

登录后复制

以上就是C程序:求解停靠站问题的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2582257.html

(0)
上一篇 2025年3月6日 14:11:15
下一篇 2025年3月6日 14:11:23

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 查找字符串长度的C程序

    这个字符串实际上是一个由字符组成的一维数组,以一个null 字符”结尾。因此,一个以null结尾的字符串包含组成字符串的字符,后面跟着一个null。 要找到字符串的长度,我们需要循环并计算循环中的所有字符,直到匹配到‘’字符为止…

    2025年3月6日
    000
  • C程序用于计算等比数列的第N项

    Given ‘a’ the First term, ‘r’ the common ratio and ‘n’ for the number of terms in a series. The task is to find the nth …

    2025年3月6日
    200
  • 活动选择问题的C程序

    活动选择问题是给定一组活动及其开始和结束时间的问题。我们需要找到一个人一次执行单个活动可以执行的所有活动。 此问题指定贪婪算法来选择下一个要执行的活动。我们先来了解一下贪心算法。 贪心算法是一种试图通过一步步寻找解来寻找问题解决方案的算法。…

    2025年3月6日
    200
  • 在C程序中,编译时错误和运行时错误之间的区别是什么?

    错误或异常是指由于代码执行中断而无法达到预期结果的情况。根据生成或识别错误的事件,我们可以将其分类为编译时错误和运行时错误。 以下是编译时错误和运行时错误之间的重要区别。 序号 关键 编译时错误 运行时错误 1参考编译时错误通常指与语法或语…

    2025年3月6日
    200
  • C程序中前n个偶数的平方和

    前n个偶数的平方和意味着,我们首先找到平方并将它们全部相加得到总和。 有两种方法可以找到前n个偶数的平方和 使用循环 我们可以使用循环从1到n迭代,每次增加1,找到平方并将其加到总和变量中− 例子 #include using namesp…

    2025年3月6日
    200
  • 将以下内容翻译为中文:使用递归在C程序中将二进制转换为格雷码

    二进制数是只有两位 0 和 1 的数字。 格雷码是一种特殊类型的二进制数,其属性是代码的两个连续数字 em> 的差异不能超过一位。格雷码的这一特性使其在 K-map、纠错、通信等方面更加有用。 这使得二进制到格雷码的转换成为必要。那么…

    2025年3月6日
    200
  • 求第n个斐波那契数的C/C++程序?

    斐波那契数列是一个数列,其中下一项是前两项之和。斐波那契数列的前两项是 0 后跟 1。 在这个问题中,我们会发现斐波那契数列中的第 n 个数字。为此,我们将计算所有数字并打印 n 项。 Input:8Output:0 1 1 2 3 5 8…

    2025年3月6日
    200
  • 使用UDP进行文件传输的C程序

    数据可以在两台使用 C 语言实现 Socket 编程的计算机之间传输。 在同样的情况下,可以轻松地通过实现用户数据报协议 (UDP) 和简单的客户端/服务器。 安全性 – 通过加密处理。 协议 – UDP 加密 &#…

    2025年3月6日
    200
  • 在C程序中,将由两个数组表示的两个数字相加

    数组表示的数字以这样的形式存储:该数字的每个数字都由数组的一个元素表示。例如, Number 234 in array is {2,3,4}. 登录后复制 为了增加这些数字,我们首先会在最低位数上相加数字,如果和大于10,则传递进位。在此之…

    2025年3月6日
    200
  • 寻找给定列表的中位数的C程序

    如果列表中的元素按顺序排列,则将列表中的元素分成两部分且两边元素数量相等的中间值称为中位数。 元素个数为奇数只有一个中间值;而;偶数个项目有两个中间值。 因此,偶数个项目的中位数被指定为两个中间值的平均值。 算法 请参考下面给出的算法来计算…

    2025年3月6日
    200

发表回复

登录后才能评论