题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2053
解题思路:有n 盏灯,0,1表示开关两个状态,第i次时:如果是i的倍数就改变状态,最后输出第n盏灯的状态,刚开始没弄明白题目的意思!
代码如下:
#include<stdio.h> #define ON 1 #define OFF 0 int main() { int n, time, i; while (scanf("%d",&n) != EOF) { time = 0; for (i = 1; i <= n; i++) if (n%i == 0) time++; if(time%2 == 0) printf("%d\n",OFF); else printf("%d\n",ON); } return 0; }