m0_73895290 2022-10-30 20:08 采纳率: 66.7%
浏览 14
已结题

分析上例两个实例,解释程序的具体功能。

#include <stdio.h>
double factorial(int n) {
int i;
double mul;
mul = 1;
for(i = 1; i <= n; ++i)
mul *= i;
return mul;
}
int combinations(int n, int k) {
return factorial(n) / (factorial(k) * factorial(n - k));
}
int main(void) {
int n, k;
printf("输入总的元素个数: ");
scanf("%d", &n);
printf("输入要取出的元素个数: ");
scanf("%d", &k);
printf("C(%d,%d)=%d\n", n, k, combinations(n, k));
return 0;
}

#include <stdio.h>
#include <math.h>
int isPrime(int n);
int main(void) {
int n, i, count = 0;
scanf("%d", &n);
for(i = 2; i < n; ++i) {
if (isPrime(i) ) {
printf("%d ", i);
count++;
if(count % 5 == 0)
printf("\n");
}
}
return 0;
}
int isPrime(int n) {
int i, limit, flag = 1;
if(n <= 1)
flag = 0;
else if(n == 2)
flag = 1;
else if(n % 2 == 0)
flag = 0;
else {
limit = sqrt(n) + 1;
for(i = 3; i <= limit; i += 2) {
if(n % i == 0) {
flag = 0;
break;
}
}
}
return flag;

  • 写回答

1条回答 默认 最新

  • 谢玄. 2022-10-30 20:18
    关注

    第一个程序是从第一个输入数的东西里面取出第二个输入的数那么多件物品,可以出现的组合数;
    第二个程序是输出比输入小的所有素数;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月7日
  • 已采纳回答 10月30日
  • 创建了问题 10月30日

悬赏问题

  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里