1558: 和与积
Time Limit: 1 Sec Memory Limit: 128 MB Special JudgeSubmit: 105 Solved: 65
[ Submit][ Status][ Web Board]
Description
构造N个正数(每个数不超过1000000),使所有数的和与所有数的积相差刚好等于D,按非递减序输出。
Input
多组测试数据(不超过1000组),每行两个正整数N和D。(2<=N<=1000,D<=1000)
Output
每行应该按非递减序输出对应的N个数。
Sample Input
2 1
3 5
Sample Output
2 3
1 2 8
HINT
机智题
始终构造一个,前n-2个数为1,第n-1个数为2,最后一个数为X。
那么这个数列的和是X+n;
积是2*X
那么X+n+D=2*X
那么n+D=X;
所以方法就很简单了
#include <stdio.h>
int main()
{
int n,d;
while(scanf("%d%d",&n,&d)>0)
{
for(int i=1;i<=n-2;i++)
printf("1 ");
printf("2 %d\n",n+d);
}
}