Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Problema_OMA_4 {
- public static void main(String[] args) {
- /*¿Cuál es el mayor de los números racionales P / Q, tales que P y Q son números primos positivos,
- P < Q y Q < 26662?*/
- double mayor_P_sobre_Q = 0;
- double current_P_Q = 0;
- for (long q = 24000; q < 26662; q++) {
- for(long p = 23999; p<q; p++) {
- if (es_primo(p) && es_primo(q) ) {
- double P = (double) p;
- double Q = (double) q;
- current_P_Q = P/Q ;
- if (current_P_Q > mayor_P_sobre_Q) {
- mayor_P_sobre_Q = current_P_Q;
- }
- }
- }
- }
- System.out.println(mayor_P_sobre_Q);
- }
- public static boolean es_primo(long x) {
- boolean es_primo = false;
- int sub_x;
- double raiz = Math.sqrt(x);
- int raiz_a = (int) raiz ;
- for (sub_x = 2; sub_x<raiz; sub_x++) {
- boolean keep_going = true;
- if (x%sub_x == 0) {
- keep_going = false; // Encotramos que no es primo
- }
- else if (sub_x == raiz_a ) { // Es el ultimo numero
- es_primo = true;
- }
- if (!keep_going) {
- break;
- }
- }
- return es_primo;
- }
- }
Add Comment
Please, Sign In to add comment