Får bli med jeg og da.
Java, det liker alle XD.
Her lager jeg to arrays, en med tall som er delelige med 3 og en med tall som er delelige med 5. Rett og slett bare gangetabellen opp til sluttverdien. Så looper jeg gjennom disse og sorterer ut i en ny array som så blir printet ut. Dritt enkelt sånn egentlig med veldig spesiell måte å gjøre det på mtp denne type oppgave. Jeg har ihverfall ikke sett noen andre på nettet gjøre det på denne måten tidligere.
Det hele er inspirert av Eratosthenes/Atkins' sil. De som liker matematisk historikk og primtall har sikkert vært borti logotytmen tidligere, og om du ikke har peiling på hva dette er; wikipedia it
Kode
import java.util.Arrays;
public class why_the_hell_not{
public static void main(String[] args) {
int[] trees = findNumbers3(100);
int[] fives = findNumbers5(100);
String[] buzzCut = season(trees,fives,100);
display(buzzCut);
}
public static int[] findNumbers3(int end){
int root = (int) Math.ceil(Math.sqrt(end));
int[] trees = new int[end / 3];
for(int i = 0; i <= root;)
for(int k = 3; k < end+1; k += 3){
trees[i] = k;
i++;
}
return trees;
}
public static int[] findNumbers5(int end){
int root = (int) Math.ceil(Math.sqrt(end));
int[] fives = new int[end / 5];
for (int i = 0; i <= root;){
for (int j = 5; j < end+1; j += 5){
fives[i] = j;
i++;
}
}
return fives;
}
public static String[] season(int[] trees,int[] fives, int end){
String[] shitPommesFrites = new String[58];
int i = 0;
int j = 0;
int k = 0;
while (i < trees.length && j < fives.length) {
if (trees[i] == fives[j]) {
shitPommesFrites[k] = "buzzfizz";
k++;
}
if (trees[i] <= fives[j]) {
shitPommesFrites[k] = "fizz";
i++;
}
else {
shitPommesFrites[k] = "buzz";
j++;
}
k++;
}
return shitPommesFrites;
}
public static void display(String[] values){
System.out.println(Arrays.toString(values));
}
}
(Vil på forhånd beklage idiotiske variabelnavn og litt "ummoden" kode, som min gamle AlgDat-lærer beskrev mine innleveringer som. Den er sikkert også ganske så rotete, men orker ikke gjøre noe med det nå. Jeg er ganske full[typ sjangledritings] og har luktet litt på jazztobakken...)
Edit: Så nå at jeg sikkert burde skrevet ut alle tallene opp til hundre også, ikke bare de som er delelige med 3, 5 eller begge. Men, det for bli en annen gang. lol
Sist endret av moret; 19. januar 2014 kl. 01:40.