杭电OJ2053

    xiaoxiao2021-03-26  10

    import java.util.Scanner; public class Main { public static void main(String[] args){ int n; int[] a = new int[100001]; Scanner in = new Scanner(System.in); while(in.hasNextInt()){ n = in.nextInt(); for(int k = 1; k <= n; k++){ a[k] = 0; } /*for(int i = 1; i <= n; i++){ for(int j = 1; j <= n; j++){ if(j % i == 0){ a[j] = a[j] ^ 1; } } }*/ /* * 如果用上面注释的部分计算了n个数n次变化(n*n次计算)会超时,题干中只要求计算输出a[n] * 所以每一步只需调整a[n]的值,不用管其它部分(一个数n次变化),所以一个循环就可以搞定 * 有了下面的代码 */ for(int i = 1; i <= n; i++){ if(n % i == 0){ a[n] = a[n] ^ 1; } } System.out.println(a[n]); } } }
    转载请注明原文地址: https://ju.6miu.com/read-650095.html

    最新回复(0)