2022-01-12

87 阅读1分钟
import java.util.Scanner;
public class Main{
    static int N = 1000010;
    static int[] primes = new int[N];
    static int idx  = 0;
    static boolean[] st = new boolean[N];
    public static void getNums(int n ){
        
        for(int i = 2; i <= n; i++){
            if(!st[i]){
                primes[idx++] = i;
            }
            for(int j = 0; primes[j] <= n/i;j++){
                st[primes[j] * i] = true;
                if(i % primes[j] == 0) break;
            }
        }     
   
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        getNums(n);
        System.out.println(idx);
    }
}
import java.util.Scanner;
import java.util.HashMap;
public class Main{
    static HashMap<Integer,Integer> primes = new HashMap();
    static int mod = (int) 1e9+7;
    public static void getNums(int n ){
        for(int i = 2;  i <= n/i; i++ ){
            while(n % i == 0){
                n /= i;
                primes.put(i,primes.getOrDefault(i,0) + 1);
            }
        }
        if(n > 1) primes.put(n,primes.getOrDefault(n,0) + 1);
    }
    public static void main(String[] args){
        Scanner sc =new Scanner(System.in);
        int n = sc.nextInt();
        while(n-- > 0){
            int x = sc.nextInt();
            getNums(x);
        }
        
        long res = 1;
        for(int a: primes.values()){
            res =  res * (a + 1) % mod;
        }
        System.out.println(res);
    }
}
import java.util.*;
public class Main{
    static HashMap<Integer,Integer> primes = new HashMap();
    static int mod = (int) 1e9 + 7;
    static long res = 1;
    public static void getNums(int n){
        for(int i = 2; i <= n/ i; i++){
            while(n % i == 0){
                n/=i;
                primes.put(i,primes.getOrDefault(i,0) + 1);
            }
        }
        if(n > 1) primes.put(n,primes.getOrDefault(n,0) + 1);
    }
    
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        while(n-- > 0){
            int x = sc.nextInt();
            getNums(x);
        }
        
        for(Integer a: primes.keySet()){
            int k = primes.get(a);
            long s = 1;
            while(k-- > 0) s = (s * a + 1)  % mod;
            res = res * s % mod;
        }
        System.out.println(res);
    }
}
import java.util.Scanner;
public class Main{
    
    public static int gcd(int a,int b){
        if(b != 0){
            return gcd(b, a % b);
        }else{
            return a;
        }
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        while( n-- > 0){
            int a = sc.nextInt();
            int b = sc.nextInt();
            System.out.println(gcd(a,b));
        }
    }
}
import java.util.Scanner;
public class Main{
    static long res;
    
    public static void get_eulers(int n){
        res = n;
        for(int i = 2; i <= n/i; i++){
            if(n % i== 0){
                
                while(n % i==0){
                    n/=i;
                }
                res = res / i * (i - 1);
            }
        }
        if(n > 1) res = res / n * (n - 1);
        System.out.println(res);
    }
    
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        while(n-- > 0){
            int x = sc.nextInt();
            get_eulers(x);
        }
    }
}
import java.util.Scanner;
public class Main{
    static int N = 1000010;
    static int[] primes = new int[N];
    static int[] phi = new int[N];
    static boolean[] st = new boolean[N];
    static int idx = 0;
    static long res = 0;
    public static void get_eulers(int n){
        phi[1] = 1;
        for(int i = 2; i <= n; i++){
            if(!st[i]) {
                primes[idx++] = i;
                phi[i] = i - 1;
            }
            for(int j = 0;primes[j] <= n/i;j++){
                st[primes[j] * i ] = true;
                if(i % primes[j] == 0) {
                    phi[primes[j] * i] = phi[i] * primes[j];
                    break;
                }
                phi[primes[j] * i] = phi[i] * (primes[j] - 1);
            }
        }
        
        for(int a: phi){
            res+=a;
        }
        System.out.println(res);
    }
    
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        get_eulers(n);
    }
}
import java.util.Scanner;
public class Main{
    
    
    public static long qmi(long a,int k,int p){
        long res = 1;
        while(k != 0){
            if((k & 1) != 0) res = res * a % p;
            k >>= 1;
            a = a * a % p;
        }
        return res;
    }
    
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        while(n-- > 0){
            int a = sc.nextInt();
            int k = sc.nextInt();
            int p = sc.nextInt();
            System.out.println(qmi(a,k,p));
        }
    }
}
import java.util.Scanner;
public class Main{
    
    public static long qmi(long a,int k,int p){
        long res = 1;
        while(k != 0){
            if((k & 1) != 0) res = res * a % p;
            k >>= 1;
            a = a * a % p; 
        }
        return res;
    }
    public static void main(String[] arga){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        while(n-- > 0){
            int a  = sc.nextInt();
            int p = sc.nextInt();
            if(a % p != 0) System.out.println(qmi(a,p - 2 , p));
            else System.out.println("impossible");
        }
    }
}