Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package oving1;
- import java.util.Date;
- public class Oving1Oppg1 {
- public int[] dager= {-1, 3, -9, 2, 2, -1, 2, -1, -5};
- public static void main (String[] args){
- new Oving1Oppg1().tidsmaaling();
- }
- public int[] finnKursEndring(){
- //later som vi begynner på en verdi 10.
- int[] dagerKurs = new int[dager.length];
- dagerKurs[0] = 10 - dager[0];
- for (int i = 1; i < dager.length; i++){
- dagerKurs[i] = dagerKurs[i-1] + dager[i];
- }
- return dagerKurs;
- }
- public void bestTid(int[] dagerKurs){
- //kjøpe hver dag
- //prøv å selge best dag
- int bestStart = 0;
- int bestSlutt = 0;
- int best = 0;
- //startdag
- for (int i = 0; i < dager.length; i++){
- //salgdagß
- for (int y = i; y < dager.length; y++){
- if (dagerKurs[y] - dagerKurs[i] > best){
- best = dagerKurs[y] - dagerKurs[i];
- bestStart = i;
- bestSlutt = y;
- }
- }
- }
- //return "Beste start dag: " + (bestStart+1) + ", beste slutt dag: " + (bestSlutt+1) +". Fortjeneste: " + best;
- }
- public void tidsmaaling(){
- double tid = 1.0;
- int start = 100;
- for (int n=start; n < 1000*start; n*=2){
- int[] dagerKurs = finnKursEndring();
- Date starttid = new Date();
- Date sluttid = new Date();
- int antRunder = 0;
- while (sluttid.getTime()-starttid.getTime()<10) {
- bestTid(dagerKurs);
- sluttid = new Date();
- antRunder++;
- }
- double forrigeTid = tid;
- tid = (double)(sluttid.getTime()-starttid.getTime())/antRunder;
- System.out.format("Antall: %6d, tid: %8.2f ms, forholdstall: %6.2f, antall runder: %6d%n",n,tid,tid/forrigeTid, antRunder);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement