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.