用C语言实现,假设有n(n<=20)个任务由k(k<=20)个可并行工作的机器完成。完成任务i需要的时间为ti。 试设计一个算法,对任意给定的整数n和k,以及完成任务i 需要的时间为ti ,i=1~n。计算完成这n个任务的最佳调度,使得完成全部任务的时间最早。 输入格式: 输入数据的第一行有2 个正整数n和k。第2 行的n个正整数是完成n个任务需要的时间。 输出格式: 将计算出的完成全部任务的最早时间输出到屏幕。 输入样例: 在这里给出一组输入。例如: 7 3 2 14 4 16 6 5 3 输出样例: 在这里给出相应的输出。例如: 17
时间: 2023-06-17 16:04:02 浏览: 76
这是一道经典的任务调度问题,可以使用贪心算法进行求解。具体做法是,将任务按照完成时间从大到小排序,然后依次将任务分配给当前完成时间最早的机器。具体实现步骤如下:
1. 读入 n 和 k 以及每个任务的完成时间 t[i]。
2. 对任务按照完成时间从大到小排序。
3. 初始化每个机器的完成时间为 0。
4. 依次将任务分配给当前完成时间最早的机器,即将任务分配给完成时间最早的机器,更新该机器的完成时间。
5. 输出所有机器中完成时间最晚的时间,即为最优调度时间。
C语言代码实现如下:
相关问题
用C语言输入一个正整数n,n<=20;求n的阶层
以下是C语言代码:
```c
#include<stdio.h>
int main() {
int n, i, fact=1;
printf("请输入一个正整数n:");
scanf("%d", &n);
if(n<0 || n>20) {
printf("输入的数不符合要求\n");
return 0;
}
for(i=1; i<=n; i++) {
fact *= i;
}
printf("%d的阶乘是:%d\n", n, fact);
return 0;
}
```
运行结果示例:
```
请输入一个正整数n:5
5的阶乘是:120
```
C语言输入一个正整数n,n<=20;求n的阶层
以下是C语言程序实现:
```c
#include <stdio.h>
int main()
{
int n, i;
unsigned long long factorial = 1; // 使用unsigned long long类型存储阶乘,避免溢出
printf("请输入一个正整数n(n<=20):");
scanf("%d", &n);
// 求阶乘
for (i = 1; i <= n; i++)
{
factorial *= i;
}
printf("%d的阶乘为%llu\n", n, factorial);
return 0;
}
```
该程序使用for循环计算n的阶乘,使用unsigned long long类型存储阶乘,避免因阶乘过大导致计算结果溢出。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)