JAVA
java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
Author: LukArToDo
Created: 27.jan 2018
Bugs: unknown
Description: The code arrange the numbers form 1 to 15, so that the addition of two adjacent numbers always is a square.
*/
import java.util.Arrays;
import java.util.stream.IntStream;
public class NumbersToSquare{
public static void main(String...arg){
findList(new int[15],0,IntStream. rangeClosed(1,15).toArray(),new int[]{4,9,16,25});
}
static void findList(int[]NtS,int n, int[]arr,int[]sqr){
if (n>14)
System.out.printf("List : %s%n", Arrays.toString(NtS));
else
for(int i=0;i<15;i++)
if (arr[i]>0){
NtS[n]=arr[i];
if(n==0||Arrays.binarySearch (sqr,NtS[n]+NtS[n-1])>0){
arr[i]=-1;
findList(NtS,n+1,arr,sqr);
arr[i]=i+1;
}
}
}
}
Enter to Rename, Shift+Enter to Preview
OUTPUT
Run