2022-01-11

148 阅读1分钟
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
public class Main{
    static List<Integer> list;
    public static void is_fun(int n){
        list = new ArrayList();
        for(int i = 1;i <= n/i; i++){
            if(n%i == 0){
                list.add(i);
                if(i != n/i){
                    list.add(n/i);
                }
            }
        }
        Collections.sort(list);
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        while(n-- >0){
            int x = sc.nextInt();
            is_fun(x);
            for(Integer l: list){
                System.out.printf("%d ",l);
            }
            System.out.println();
        }
    }
}

import java.util.Scanner;
import java.util.HashMap;
public class Main{
    static int mod = (int)1e9+7;
    static HashMap<Integer,Integer> primes = new HashMap();
    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(int a: primes.values()){
            res = res * (a + 1) % mod;
        }
        System.out.println(res);
        
    }
    
}
import java.util.Scanner;
import java.util.HashMap;
public class Main{
    static int mod = (int) 1e9 + 7;
    static long res = 1;
    static HashMap<Integer,Integer> primes = new HashMap<>();
    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()){
            long sum = 1;
            int k = primes.get(a);
            
            while(k-- > 0){
                sum = (sum * a + 1) % mod;
            }
            res = res * sum % 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 long 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);
        return res;
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        while(n-- > 0){
            int x = sc.nextInt();
            System.out.println(get_eulers(x));
        }
    }
}
import java.util.Scanner;
public class Main{
    static int N = 1000010;
    static int[] primes = new int[N];
    static boolean[] st = new boolean[N];
    static int[] phi = new int[N];
    static int idx = 0;
    static long res = 0;
    public static long 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;
        }
        return res;
        
    }
    
    
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.println(get_eulers(n));
    }
}