Вы находитесь на странице: 1из 9

Problema6 1 package problema6; 2 3 import java.util.

Scanner; 4 5 6 7 public class Main { 8 9 10 public static void main(String[] args) { 11 12 13 Scanner s = new Scanner(System.in); 14 int n = s.nextInt(); 15 int []A = new int [n]; 16 for(int i=0; i<n; i++) 17 A[i]=s.nextInt(); 18 19 //System.out.println(particion(A,0,n)); 20 quicksort(A,0,n-1); 21 for(int i=0; i<n; i++) 22 System.out.print(A[i]+" "); 23 } 24 25 static void quicksort(int[] A, int i, int j) { 26 //System.out.println(i+"#"+j); 27 if(i==j) 28 return; 29 30 int r=particion(A,i,j); 31 if(i==r )//|| r==i+1) 32 { 33 quicksort(A,r+1,j); 34 } 35 else if(j==r )//|| r==j-1) 36 { 37 quicksort(A,i,r-1); 38 } 39 else 40 { 41 quicksort(A,i,r-1);

42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82

quicksort(A,r+1,j); } //System.out.println("*"+r); } /** * Particion se llama desde 0 hasta n * @param A * @param i * @param j * @return */ static int particion(int []A, int i, int j ){ /*if(i<j) return i;*/ int pivot=A[i]; int r = i; for(int k=i; k<=j; k++) { if(pivot>A[k]) { int temp=A[k]; int t=k; while(t>r) { A[t]=A[t-1]; t--; } r++; A[r-1]=temp; } } return r; } } run: 3 937 3 7 9 GENERACIN CORRECTA (total time: 8 seconds)

Problema 5 1 package problema5; 2 3 import java.util.Scanner; 4 5 public class Main { 6 7 public static void main(String[] args) { 8 // TODO code application logic here 9 Scanner s = new Scanner(System.in); 10 String msg = s.nextLine(); 11 12 //String []palabras = msg.split(" "); 13 String []palabras = split(msg); 14 15 System.out.println("La frase tiene "+palabras.length+" palabras"); 16 int mayor=palabras[0].length(); 17 for(int i=1; i<palabras.length; i++) 18 if(mayor<palabras[i].length()) 19 mayor=palabras[i].length(); 20 System.out.println("La palabra de mayor longitud tiene "+mayor+" letras"); 21 22 23 } 24 static String [] split(String msg){ 25 int n=0; 26 for(int i=0; i<msg.length(); i++){ 27 if(msg.charAt(i)==' ') 28 n++; 29 } 30 31 String[] words = new String[n+1]; 32 //String[] words = new String[100]; 33 int a=0; 34 int k=0; 35 for(int i=0; i<msg.length(); i++){ 36 if(msg.charAt(i)==' '){ 37 words[k++]=msg.substring(a, i); 38 a=i+1; 39 } 40 }

41 42 43 44 45 46 47 48 49 50 51 52

words[k]=msg.substring(a, msg.length()); return words; }

} run: bienvenido a java La frase tiene 3 palabras La palabra de mayor longitud tiene 10 letras GENERACIN CORRECTA (total time: 28 seconds)

Problema 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 package problema3; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO code application logic here Scanner s = new Scanner(System.in); int n = s.nextInt(); int []A = new int [n]; for(int i=0; i<n ; i++) A[i] = s.nextInt(); int m = s.nextInt(); int []B = new int [m]; for(int i=0; i<m ; i++) B[i] = s.nextInt(); int []C = new int [n+m]; int i=0,j=0; for(int k=0; k<n+m; k++) { if(i>=n) C[k]=B[j++]; else if(j>=m) C[k]=A[i++]; else{ if(A[i]<B[j]) C[k]=A[i++]; else C[k]=B[j++]; } } for(int k=0; k<n+m; k++) System.out.print(C[k]+" "); } } run:

41 42 43 44 45

5 12345 6 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 GENERACIN CORRECTA (total time: 31 seconds)

Problema 2 1 package problema2; 2 3 import java.util.Scanner; 4 5 public class Main { 6 7 public static void main(String[] args) { 8 // TODO code application logic here 9 Scanner s = new Scanner(System.in); 10 int n = s.nextInt(); 11 int A[] = new int[100]; 12 for(int i=2; i<Math.sqrt(100); i++) 13 { 14 int j=i+i; 15 while(j<100) 16 { 17 A[j]=1; 18 j+=i; 19 } 20 } 21 22 int i=0; 23 int j=2; 24 float suma=0; 25 float promedio=0; 26 while(i<n) 27 { 28 if(A[j]==0) 29 { 30 //System.out.println(j); 31 i++; 32 suma+=j; 33 } 34 j++; 35 } 36 promedio=suma/n; 37 System.out.println("La suma de los "+n+" primeros primos es "+suma); 38 System.out.println("El promedio de los "+n+" primeros primos es "+promedio); 39 40 }

41 42 43 44 45 46 47

} run: 5 La suma de los 5 primeros primos es 28.0 El promedio de los 5 primeros primos es 5.6 GENERACIN CORRECTA (total time: 6 seconds)

Problema 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 package problema1; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO code application logic here int n; Scanner s = new Scanner(System.in); n = s.nextInt(); int []A = new int[100]; A[0]=0; A[1]=1; Fibo(n,A); visualizar(A, n); } static void visualizar(int A[], int n){ for(int i=0; i<n-1; i++) System.out.print(A[i]+", "); System.out.println(A[n-1]); } static void Fibo(int n, int A[]) { if(n<2) return; for(int i=2; i<n; i++) A[i]=A[i-1]+A[i-2]; } } run: 5 0, 1, 1, 2, 3 GENERACIN CORRECTA (total time: 6 seconds)

Вам также может понравиться