对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之积为M
例子:12345=120,所以从1到5的一个自然数段为M=120的一个解。
输入
一个整型M(0<M<1e8)
输出
一行输出一种组合,同一行中数与数之间空格隔开
多个解按第一个从小到大排序
对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之积为M
例子:12345=120,所以从1到5的一个自然数段为M=120的一个解。
输入
一个整型M(0<M<1e8)
输出
一行输出一种组合,同一行中数与数之间空格隔开
多个解按第一个从小到大排序
#include "stdio.h"
#include "math.h"
int main()
{
int m, i, j, s, res=0;
scanf("%d", &m);
for (i = 1; i <=1+ (int)sqrt((double)m); i++)
{
s = 1;
j = i;
while (s < m)
{
s *= j++;
}
if (s == m)//输出结果
{
for (s = i; s < j; s++)
printf("%d ", s);
printf("\n");
res = 1;
}
}
if (!res) printf("NULL\n");
return 0;
}