ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HDUOJ 2053Switch Game

2021-03-20 23:32:24  阅读:228  来源: 互联网

标签:状态 off Output HDUOJ Game lamps 操作 2053Switch 变成


HDUOJ 2053Switch Game


Problem Description
There are many lamps in a line. All of them are off at first. A series of operations are carried out on these lamps. On the i-th operation, the lamps whose numbers are the multiple of i change the condition ( on to off and off to on ).

Input
Each test case contains only a number n ( 0< n<= 10^5) in a line.

Output
Output the condition of the n-th lamp after infinity operations ( 0 - off, 1 - on ).

Sample Input
1
5

Sample Output
1
0

先来说一下题目大意,就是有一排灯,初始转态为全部关闭,
之后第几次操作就把第几个灯切换状态,
第一次操作 ,标号是1的倍数,全都变成相反的状态,也就是全变成1.。
第二次操作 ,标号是2的倍数,全都变成相反的状态,2 4 6……变成了0.。。
第三次操作 ,标号是3的倍数,全都变成相反的状态,3 6 9……

题目问你 n 号台灯最后 变成了 什么状态,
例如 1号灯,最后变成了1,不管多少次操作都是1.。
例如 5号灯 最后变成了0,不管多少次操作都是0.。

当操作次数大于n 的时候 n 的状态就不会改变了,因为N不会是M(M>N)的倍数。。
那么思路很简单了,就是求n有几个约数(包括1和自身)如果有奇数个约数,变奇数次,结果也就是1;否则为0

Submit

#include<stdio.h>

int main() {
	int i, k, n;
	while (~scanf("%d", &n)) {
		k = 0;
		for (i = 1; i <= n; i++) {
			if (n % i == 0) 
				k++;
		}
		printf("%d\n", k % 2);
	}
	return 0;
}

标签:状态,off,Output,HDUOJ,Game,lamps,操作,2053Switch,变成
来源: https://blog.csdn.net/qq_45114168/article/details/115036707

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有