zoukankan      html  css  js  c++  java
  • 淘气的蜡笔小鑫

    Description

    蜡笔小鑫真是又闲又淘气,他看到走廊上的灯都是灭的,就跑过去捣乱。每个灯泡都有自己的开关,用来控制灯的状态(开或者关)。如果灯灭了,按一下开关即开灯,再按一次即关灯。假设走廊里有n个灯泡,蜡笔小鑫就沿着走廊来回走n次。每次都是沿走廊走下去然后再回来,并且当他在走第i次时,都会按一下所有位置可被i整除的灯的开关(每次他都只在去的时候按下开关,回来的时候未进行任何操作),例如:n=8,i=3时,他在走第3次的时候按下了序号为3和6的灯的开关。他想知道最后一个灯泡的最终状态到底是开还是关,你能帮帮他吗?

    Input

    输入包含一个正整数n(n≤232-1),表示蜡笔小鑫沿着走廊来回走了n次。

    Output

    输出单行结果,如果最后一个灯泡是开的,输出“yes”,否则,输出“no”。

    Sample Input

    3
    6241
    8191

    Sample Output

    no
    yes
    no
    

    解题思路:唉啊,脑子真的是废了,这一道题其实就是一个找规律的题,我硬生生的把这一道题给想复杂了。列如,8可以拆分成1、2、4、8代表着开
    关开关,最后是关灯;而9却可以拆成1,3,9,代表着开关开;16可以拆成1、2、4、8、16代表着开关开关开。我们可以发现规律了,只要是能开方的数
    最后一定是开灯,不能开方的数最后是关灯。

    上代码:
     1 #include<stdio.h>
     2 #include<math.h>
     3 int main()
     4 {
     5     long long i,n,k;
     6     double q;
     7     scanf("%lld",&n);
     8     q=sqrt(n);
     9     k=int(q);
    10     if(q-k==0)
    11         printf("yes
    ");
    12     else
    13         printf("no
    ");
    14      return 0;
    15 }
    
    
    
    
    
  • 相关阅读:
    详解 注解
    线段树分治
    实用Trick
    CF932F(李超线段树+dp)
    CF24D Broken robot(高斯消元)
    LCT学习笔记
    [HNOI2008]GT考试
    [AHOI2009]中国象棋
    [APIO2012]派遣
    CF961G Partitions
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/8877359.html
Copyright © 2011-2022 走看看