Consecutive Factors 连续因素(Java语言)

简介: Consecutive Factors 连续因素(Java语言)

题目描述:

Among all the factors of a positive integer N, there may exist several consecutive numbers. For example, 630 can be factored as 3×5×6×7, where 5, 6, and 7 are the three consecutive numbers. Now given any positive N, you are supposed to find the maximum number of consecutive factors, and list the smallest sequence of the consecutive factors.

Input Specification:

Each input file contains one test case, which gives the integer N (1<N<2

31

).

Output Specification:

For each test case, print in the first line the maximum number of consecutive factors. Then in the second line, print the smallest sequence of the consecutive factors in the format , where the factors are listed in increasing order, and 1 is NOT included.factor[1]factor[2]…*factor[k]


Sample Input:

630

Sample Output:

3
5*6*7

解题思路及代码:

双重循环,记录最长序列以及开始位置

注意:1不是因数,对于类似2的输入,一定要输出自己本身;


import java.util.Scanner;

public class ConsecutiveFactors连续因素 {

  public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner scanner = new Scanner(System.in);
    int n = scanner.nextInt();
    int max=0,start=1;
    for(int i=2;i<=Math.sqrt(n);i++) {
      int s=i;
      int j=i+1;
      int temp = 0;
      while(n%s==0) {
          temp++;
          s=s*j;
          j++;
      }
      if(temp>max) {
        max=temp;
        start=i;
      }
    }
    if(max==0) {
      System.out.println("1");
      System.out.println(n);
    }
    else {
      System.out.println(max);
      for(int i=0,j=start;i<max;i++,j++)
        if(i==0) System.out.print(j);
        else System.out.print("*"+j);
    }
    
  }

}


相关文章
|
1月前
|
存储 人工智能 算法
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
这篇文章详细介绍了Dijkstra和Floyd算法,这两种算法分别用于解决单源和多源最短路径问题,并且提供了Java语言的实现代码。
65 3
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
|
3月前
|
Java Maven
使用java语言制作一个窗体(弹窗),用来收集用户输入的内容
该博客文章介绍了如何使用Java Swing中的JFrame创建一个窗体来收集用户输入的内容,并提供了详细的实现步骤和完整代码示例。
使用java语言制作一个窗体(弹窗),用来收集用户输入的内容
|
6天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
18 4
|
4月前
|
Oracle 安全 Java
Java语言简介及发展
Java语言简介及发展
|
5月前
|
数据可视化 Java
Java语言使用DL4J实现图片分类
【6月更文挑战第14天】Java语言使用DL4J实现图片分类
102 3
|
27天前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
41 3
|
30天前
|
移动开发 Java 大数据
深入探索Java语言的核心优势与现代应用实践
【10月更文挑战第10天】深入探索Java语言的核心优势与现代应用实践
46 4
|
1月前
|
存储 Java 数据安全/隐私保护
Java中的域,什么是域?计算机语言中的域是什么?(有代码实例)
文章解释了Java中域的概念,包括实例域、静态域、常量域和局部域,以及它们的特点和使用场景。
48 2
|
1月前
|
Java 数据安全/隐私保护 C++
Java语言关键字
Java语言关键字
20 2
|
1月前
|
分布式计算 安全 Java
Java语言的特点?
Java语言的特点?