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

Hinthint

Consider the second test case:

The initial condition : 0 0 0 0 0 …

After the first operation : 1 1 1 1 1 …

After the second operation : 1 0 1 0 1 …

After the third operation : 1 0 0 0 1 …

After the fourth operation : 1 0 0 1 1 …

After the fifth operation : 1 0 0 1 0 …

The later operations cannot change the condition of the fifth lamp any more. So the answer is 0.

思路:

说下题目大意吧,

先把这些灯标上号,1 2 3 4 5 6 7 8 ……无穷

首先全是关的,也就是全是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

import java.util.Scanner;

public class Main {
// static boolean[] islight = new boolean[100002]; public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt(); // for(int i=1;i<=n;i++){
// islight[i] = false;
// }
//
// for (int i = 1; i <= n; i++) {
// for (int j = 1; j <= n; j++) {
// if(j%i==0){
// islight[j] = !islight[j];
// }
// }
// }
//
// if(islight[n]){
// System.out.println("1");
// }else{
// System.out.println("0");
// }
// 超时 int k =0;
for(int i=1;i<=n;i++){
if(n%i==0){
k++;
}
} if(k%2==0){
System.out.println("0");
}else{
System.out.println("1");
} } }
}

HDOJ 2053 Switch Game的更多相关文章

  1. hdu 2053 Switch Game 水题一枚,鉴定完毕

    Switch Game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  2. HDU 2053 Switch Game

    http://acm.hdu.edu.cn/showproblem.php?pid=2053 Problem Description There are many lamps in a line. A ...

  3. HDU 2053 Switch Game(开灯问题,完全平方数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2053 题目大意:灯开始是关着的,有n盏灯,i从1数到n每当灯的序号是i的倍数的时候就对灯进行一次操作( ...

  4. 杭电(hdu)2053 Switch Game 水题

    Switch Game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  5. 杭电oj2047-2049、2051-2053、2056、2058

    2047  阿牛的EOF牛肉串 #include<stdio.h> int main(){ int n,i; _int64 s[]; while(~scanf("%d" ...

  6. hdu 1039 (string process, fgets, scanf, neat utilization of switch clause) 分类: hdoj 2015-06-16 22:15 38人阅读 评论(0) 收藏

    (string process, fgets, scanf, neat utilization of switch clause) simple problem, simple code. #incl ...

  7. hdu 1035 (usage of sentinel, proper utilization of switch and goto to make code neat) 分类: hdoj 2015-06-16 12:33 28人阅读 评论(0) 收藏

    as Scott Meyers said in his book Effective STL, "My advice on choosing among the sorting algori ...

  8. hdu 1033 (bit masking, utilization of switch, '\0' as end of c string) 分类: hdoj 2015-06-15 21:47 37人阅读 评论(0) 收藏

    bit masking is very common on the lower level code. #include <cstdio> #include <algorithm&g ...

  9. hdoj:2053

    #include <iostream> #include <string> #include <vector> using namespace std; /* 无穷 ...

随机推荐

  1. web前端开发随手笔记 - 持续更新

    本文仅为个人常用代码整理,供自己日常查阅 html 浏览器内核 <!--[if IE]><![endif]--> <!--[if IE 6]><![endif ...

  2. asp.net数据导出到excel表格,并设置表格样式

    1.首先在项目中添加引用

  3. android Services注意地方

    使用service前需要在manifest声明: <manifest ... > ... <application ... > <service android:name ...

  4. Android- Activity not found

    今天调试代码的时候,出现很奇怪的现象: \XX\bin\Home.apk installed on device. 一般来说即使已经装到设备中,也没有这个提示,况且更奇怪的是,程序并又有自动运行.查看 ...

  5. 对UIImage进行的一些操作

    1.生成指定宽高的UIImage对象(oldImage为原始图片对象,newImage为操作后的图片对象) // 参数1:图片的尺寸 参数2:是否透明(没看出YES和NO有什么区别) 参数3:缩放(1 ...

  6. jQuery 停止动画

    jQuery stop() 方法用于在动画或效果完成前对它们进行停止. 停止滑动 点击这里,向上/向下滑动面板 实例 jQuery stop() 滑动演示 jQuery stop() 方法. jQue ...

  7. php输出echo、print、print_r、printf、sprintf、var_dump的区别比较

    本篇文章是对php输出echo.print.print_r.printf.sprintf.var_dump的区别进行了详细的分析介绍,需要的朋友参考下     用.net开发已经5年了,最近突然想接触 ...

  8. js判断是否在iframe中

    1.方式一 if (self.frameElement && self.frameElement.tagName == "IFRAME") { alert('在if ...

  9. 狗狗40题~(Volume B)

    H - Sorting Slides 应该是个二分匹配的模板题的,但我还不会写 = = 其实数据规模很小,就用贪心的方法就水过了(没加vis判冲突wa了几发,从此开始艰难的没有1A 的生活) #inc ...

  10. 关于fork( )函数父子进程返回值的问题

    fork()是linux的系统调用函数sys_fork()的提供给用户的接口函数,fork()函数会实现对中断int 0x80的调用过程并把调用结果返回给用户程序. fork()的函数定义是在init ...