zoukankan      html  css  js  c++  java
  • 输入一个正整数n,输出所有和为n的连续正整数序列

      public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            while (true) {
                System.out.print("please input a positive integer:");
                int n = sc.nextInt();
                if(n <= 2) break;
                int count = getSubInteger(n);
                
                System.out.println(n + "共有 " + count + " 种连续分解!");
                
                System.out.println("=========================");
            }
            sc.close();
        }
        
        public static int getSubInteger(int n) {
            int min = 1;
            int max = 1;
            int sum = 0;
            int count = 0;
            while (min <= (n-1) / 2 ) {
                if (sum == n) {
                    System.out.print(n + " = ");
                    for (int k = min; k < max; k++) {
                        if (k < max - 1)
                            System.out.print(k + " + ");
                        else
                            System.out.print(k);
                    }
                    System.out.println();
                    count++;
                    min++;
                    max = min;
                    sum = 0;
                } else if (sum > n) {
                    min++;
                    max = min;
                    sum = 0;
                } else {
                    sum = sum + max;
                    max++;
                }
            }
            return count;
        }
  • 相关阅读:
    在ubuntu 12.04 x64下编译hadoop2.4
    Learn ZYNQ (9)
    Learn ZYNQ (8)
    Jquery 中 ajaxSubmit使用讲解(转)
    JSON.parse()和JSON.stringify()的区别
    $('div','li'),$('div , li'),$('div li')的区别
    用正则表达式来去除字符的前后空格
    git add 命令添加所有改动内容
    js基础知识
    Web开发学习笔记
  • 原文地址:https://www.cnblogs.com/archimedes-euler/p/9975782.html
Copyright © 2011-2022 走看看