拆分成连续整数的和

import java.io.DataInputStream;
import java.math.BigInteger;
import java.util.Scanner;


public class IntegerContinue {

	public static void main(String[] args)
	{
		
		Scanner sc = new Scanner(System.in);
		
		int num= sc.nextInt();
		
		int maxLoop = (int) Math.sqrt(num);
		
		for(int i=2;i<=maxLoop;i++)
		{
			if((i&1)==0)
			{
				if(num%(i>>1)==0&&((num/(i>>1))&1)==1)
				{
					int sub0 = (num/(i>>1)-1)/2;
					sub0  -= i/2 - 1;
					
					int testn = 0;
					
					for(int j=0;j<i;j++)
					{
						testn+=sub0+j;
					}
					
					System.out.print(testn+"   "+num+" = ");
					int j;
					for( j=0;j<i-1;j++)
						System.out.print((sub0+j)+"+");
					System.out.println(sub0+j);
				}
			}
			else
			{
				if(num%i==0)
				{
					int sub0 = num/i;
					sub0-=i/2;
					int testn = 0;
					
					for(int j=0;j<i;j++)
					{
						testn+=sub0+j;
					}
					System.out.print(testn+"   "+num+" = ");
					int j;
					for( j=0;j<i-1;j++)
						System.out.print((sub0+j)+"+");
					System.out.println(sub0+j);
				}
			}
			
		}
		
	}
}

你可能感兴趣的:(java,J#)