30. november 2004 - 22:32Der er
10 kommentarer og 1 løsning
fakultet (n!) af flere tal
Hej eksperter, endnu engang har jeg brug for lidt ekspert hjælp. Jeg ønsker et program i jave som kan udregne faktulteten af flere tal. Det skal foregå dynamisk. Således at tallene f.eks. bliver skrevet til et array, for senere at blive hentet ud igen.
Jeg har bare brug for de linier kode hvor dette sker, jeg kan godt selv skrive ud osv.
Ved godt det ikke er god skik direkte at sprøge efter kode, uden at komme op med et forslag, men jeg står på ret bar bund.
public class Fac { public static int fac(int n) { int res = 1; for(int i = 2; i <= n; i++) { res *= i; } return res; } public static void fac(int[] in, int[] out) { for(int i = 0; i < in.length; i++) { out[i] = fac(in[i]); } } public static void main(String[] args) { int[] in = { 1, 2, 3, 4, 5, 10 }; int[] out = new int[in.length]; fac(in, out); for(int i = 0; i < out.length; i++) { System.out.println(out[i]); } } }
Ja det virker jo ganske godt! Jeg har lagt nogle flere point oven i, da jeg utrolig gerne ville have, hvis du ville skrive et par kommentare i koden, er ikke helt med på hvad der foregår.
public class Fac { // udregn fakultet for et enkelt tal, n er tallet fakultet skal beregns for, resultet er retur værdi public static int fac(int n) { // sæt resultat til 1 og gang med 2, gang med 3, ..., gang med n int res = 1; for(int i = 2; i <= n; i++) { res *= i; } return res; } // udregn fakultet for alle tal i et array, første argument er de tal der skal beregens for, andet argument er resultater public static void fac(int[] in, int[] out) { for(int i = 0; i < in.length; i++) { out[i] = fac(in[i]); } } public static void main(String[] args) { // de tal vi vil have beregnet faklultet for int[] in = { 1, 2, 3, 4, 5, 10 }; // vi allokerer plads til resultater int[] out = new int[in.length]; // beregn fac(in, out); // udskriv for(int i = 0; i < out.length; i++) { System.out.println(out[i]); } } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.