有表达式1+2+3+ ... + n 。现在要求你把其中两个不相邻的加号变成乘号,使得表达式结果为m。比如当n=49,m=2015时,1+2+3+...+1011+12+...+2728+29+...+49 = 2015和1+2+3+...+1617+12+...+2425+26+...+49 = 2015就是符合要求的答案。请找出所有可能的答案
输入格式:
一行中输入n和m的值,以空格分隔。
输出格式:
每种答案一行,输出两个符号的位置,以逗号分隔;如果一种答案都没有,输出0;
输入样例:
49 2015
输出样例:
在这里给出相应的输出。例如:
10,27 16,24
import java.util.*;
public class Main{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int n,m,cnt=0;
n = scanner.nextInt();
m = scanner.nextInt();
for(int i=1;i<=n;i++)
for(int j=i+2;j<=n;j++)
{
int result = i*(i+1)+j*(j+1);
for(int k=1;k<=n;k++)
{
if(k!=i&&k!=i+1&&k!=j&&k!=j+1)
result += k;
}
if(result==m)
{
System.out.printf("%d,%d\n",i,j);
cnt++;
}
}
if(cnt==0) System.out.printf("0");
}
}