I tried to make a small program that reads a string of values for the user, then try's to find a pattern. It doesn't go much in depth, , only sees simple patterns, only sees positive patterns, it only sees whole numbers, and it just doesn't work. I would improve upon it if only I could just get the basic thing to work. I mean, it works some of the time with trivial things like "5, 10, 15, 20" and comes up with 1x + 5. But if I input a pattern that was made by multiplication, such as "20, 40, 80, 160", It would come up with 1x + 20. Or if I put in "5, 15, 45", it would say "I have found the answer! 2x + 5".
Code:
import java.util.Scanner;
public class patternrecog {
public static void main (String[] args){
Scanner keyboard = new Scanner(System.in);
int a, x = 0;
System.out.println("How many values are you going to put in your string of numbers?");
a = keyboard.nextInt();
a = a - 1;
int[] aray;
aray = new int[99];
int max = 99;
System.out.println("Enter a string of numbers and I'll see if I can find the pattern:");
do{
x = x + 1;
aray[x] = keyboard.nextInt();
}while(x <= a);
for(int i=0; i<max; i++){ //meant to bruteforce the answer. i is the multiplication factor
for(int j=0; j<=max; j++){ //j is the addition factor
if(((i * aray[0] + j) == aray[1]) && ((i * aray[1] + j) == aray[2])){
System.out.println("I have found the answer! " + i + "x" + " + " + j);
}
}
}
}
}