ctx-study 2016-04-17 02:47 采纳率: 0%
浏览 1690
已结题

基础算法题,求思路和代码

问题 E: L1-6. 连续因子
时间限制: 1 Sec 内存限制: 128 MB
题目描述
一个正整数N的因子中可能存在若干连续的数字。例如630可以分解为3*5*6*7,其中5、6、7就是3个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。

输入
输入在一行中给出一个正整数N(1<N<231)。

输出
首先在第1行输出最长连续因子的个数;然后在第2行中按“因子1*因子2*……*因子k”的格式输出最小的连续因子序列,其中因子按递增顺序输出,1不算在内。

样例输入
630
样例输出
3
5*6*7

  • 写回答

4条回答

  • Meditator_hkx 2016-04-17 03:37
    关注

    最大N应该是2^31吧?

    思路比较自然的应该是:

    第一步,求解输入的所有因子,并按从小到大排序;

    第二步,针对因子数组,执行检查连续数操作,记录最大连续数和相应的因子数组。

    当然,可能有那种边求因子边算连续数的做法,应该更省时间。我现在还没有一个这种方案的比较清晰的思路,题主加油!

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大