diviedplus.java

来自「判断任意一个正整数是否能被拆分为连续N个正整数的和的简单算法」· Java 代码 · 共 47 行

JAVA
47
字号

public class DiviedPlus 
{
	public static void main(String[] args)
	{
		for(int num = 0 ; num < 100 ; num++)
		{
			process(num);
		}
	}
	
	
	public static void process(int num)
	{	
		boolean flag = false ; //判断是否可以分解的标识符
		int m = 1 ; //初始化从1开始进行累加
		while(m <= num/2)
		{
			int result = 0  ;
			for(int i = m ; i <= num/2+1 ; i++)
			{
				result = result + i ;
				if(result == num)
				{
					flag = true ;
					System.out.print(num+"=="+m);
					for(int n = 1 ; n < i-m ;n++)
					{
						System.out.print("+"+new Integer(m+n));
					}
					System.out.print("+"+i+"\r\n");
				}
				if(result > num)
				{
					break;
				}
			}	
			m++ ;
		}
		
		if(!flag)
		{
			System.out.println(num+":不能分解为连续正整数的和");
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?