求C语言高手帮忙做一道编程题,谢谢~

如题所述

第1个回答  2019-10-19
这里的
2
是说有两个问题要解决。

第一个问题,是说有
9
本书,3
个抄写员,9
本书的页数分别是:

100
200
300
400
500
600
700
800
900

第二个问题,是说有
5
本书,4
个抄写员,5
本书的页数分别是:

100
100
100
100
100

经过运算以后的输出,就是那两个问题的答案:

答案一:100
200
300
400
500
/
600
700
/
800
900

(第
1
个抄写员负责头五本书,第
2
个负责接着两本,第
3
个负责最后两本。)

答案二:100
/
100
/
100
/
100
100

(前
4
个抄写员各负责一本书,第
5
个负责两本。)

 

题目要求,书不可以分割,每本书只能交给一位抄写员,并且抄写员负责的书必须是连续的,所以输出答案的时候,才可以保持原来页数的次序,用
/
号表示工作分配。编程的目的,就是要找出费时最短的工作分配方法。费时长短取决于分配到最多工作的那位抄写员,所以要尽量减少最多的工作量。题目还说,如果答案不止一个,那么应尽量减少第
1
个抄写员的工作量,其次是尽量减少第
2
个抄写员的工作量,如此类推,但是每一位抄写员必须至少负责一本书。
第2个回答  2019-10-14
Fibonacci数列问题
无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为
F(n)=1
...........(n=1或n=2)
F(n)=F(n-1)+F(n-2).....(n>2)
现要你来求第n个斐波纳奇数。(第1个、第二个都为1)
**************************
***************************
#include

int
main()
{
int
a,b,c,n,m;
scanf("%d",&m);
while(m--)
//有m组数可以输入
{
scanf("%d",&n);
if(n==1)
c=1;
a=0;
b=1;
if(n>=2)
{
c=a+b;
a=b;
b=c;
n--;
}
printf("%d\t\t\t",c);
printf("\n");
}
return
0;
}
相似回答