Etsitään mahdollisimman pitkiä neliöjonoja. Kun neliöjono on löydetty etsitään seuraava neliöjono.
public class Main
{
public static void main(String[] args) {
int luvut[] = {7,13,5,25,625,5,2,4,16,256,65536,17};
int alku = 0;
int loppu = 0;
int indeksi = 0;
boolean onko = false;
boolean onko_2 = false;
for (int x = 0; x < luvut.length; x++){
int y = x+1;
onko = true;
onko_2 = false;
//Etsitään mahdollisimman pitkä neliöjono.
while (y < luvut.length && onko == true){
int z = x+1;
while (z <= y && onko == true){
if (luvut[z] != luvut[z-1]*luvut[z-1]){
//Neliöjono päättyy
onko = false;
}
if (onko == true){
//Tallennetaan neliöjonon tiedot.
onko_2 = true;
alku = x;
loppu = z;
indeksi = z-1;
}
z++;
}
y++;
}
if (onko_2 == true){
//Tulostetaan neliöjono.
for (int z = alku; z <= loppu; z++){
System.out.println(luvut[z]);
}
System.out.println("");
x = indeksi; //Etsitään seuraava neliöjono.
}
}
}
}Aihe on jo aika vanha, joten et voi enää vastata siihen.