Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.72 KB | None | 0 0
  1.  
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Scanner;
  6.  
  7. /**
  8.  *
  9.  * @author PC-28
  10.  */
  11. public class Solution {
  12.  
  13.     static List<Long> primos = new ArrayList<>();
  14.     static List<Long> primosN = new ArrayList<>();
  15.  
  16.     public static void main(String[] args) {
  17.  
  18.         primos();
  19.  
  20.         String[] abn;
  21.         int a, b, n;
  22.  
  23.         Scanner s = new Scanner(System.in);
  24.         s.nextLine();
  25.         while (s.hasNext()) {
  26.             abn = s.nextLine().split(" ");
  27.             n = Integer.parseInt(abn[0]);
  28.             a = Integer.parseInt(abn[1]);
  29.             b = Integer.parseInt(abn[2]);
  30.  
  31.             int i = 0;
  32.             //obtener divisores
  33.             primosN.clear();
  34.             while ((n % primos.get(i) == 0) && primos.get(i) < n) {
  35.                 primosN.add(primos.get(i));
  36.                 i++;
  37.             }
  38.  
  39.             int inti = 0;
  40.  
  41.             for (i = a; i <= b; i++) {
  42.  
  43.                 if (test(i)) {
  44.                     inti += i;
  45.  
  46.                 }
  47.  
  48.             }
  49.             System.out.println(inti % 1000000007);
  50.         }
  51.  
  52.     }
  53.  
  54.     static boolean test(int n) {
  55.         for (long i : primosN) {
  56.             if (n % i == 0) {
  57.                 return false;
  58.             }
  59.         }
  60.         return true;
  61.     }
  62.  
  63.     static void primos() {
  64.         boolean primo;
  65.         primos.add(2L);
  66.  
  67.         long i = 3;
  68.         while (i <= 10000) {
  69.             primo = true;
  70.             for (long l : primos) {
  71.                 if (i % l == 0) {
  72.                     primo = false;
  73.                     break;
  74.                 }
  75.             }
  76.             if (primo) {
  77.                 primos.add(i);
  78.             }
  79.             i++;
  80.         }
  81.  
  82.     }
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement