首页 > 代码库 > NYOJ题目77开灯问题

NYOJ题目77开灯问题

技术分享

-------------------------

 

可以这么考虑,一盏灯被按奇数次就是开,被按偶数次就是关,而只有自己可以整除的人才会来操作,所以问题就变为:求序列技术分享上的每个技术分享在区间技术分享上的约数的个数,约数个数为奇数即为开。

 

AC代码:

 1 import java.util.Scanner; 2  3 public class Main { 4  5     public static void main(String[] args) { 6          7         Scanner sc=new Scanner(System.in); 8          9         int n=sc.nextInt();10         int k=sc.nextInt();11         12         for(int i=1;i<=n;i++){13             if(solve(i,k)%2==1) System.out.print(i+" ");14         }15         16     }17     18     public static int solve(int n,int k){19         int res=0;20         for(int i=1;i<=k && i<=n;i++) if(n%i==0) res++;21         return res;22     }23     24 }

 

题目来源: http://acm.nyist.net/JudgeOnline/problem.php?pid=77

NYOJ题目77开灯问题