zoukankan      html  css  js  c++  java
  • HDU 2053 Switch Game(开灯问题,完全平方数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2053

    题目大意:灯开始是关着的,有n盏灯,i从1数到n每当灯的序号是i的倍数的时候就对灯进行一次操作(开->关,关->开),求最后第n盏灯是关着还是开着。

    解题思路:直接对第n盏灯模拟也可以,但是有规律更好不是吗~。其实就是判断n的约束奇偶性,奇数就开着,偶数就关着。

         当一个数不是完全平方数:如18约数为:(3,6),(2,19),(1,15)约数个数总会是偶数,因为每个约数都有一个对应的不同的约数。

         当他是完全平方数:如36约数为:(1,36),(2,18),(3,12),(4,9),6 约数个数总是奇数,因为约数sqrt(n)对应的约数是相同的。

    代码:

     1 #include<cstdio>
     2 #include<cmath> 
     3 using namespace std;
     4 
     5 int main(){
     6     int n;
     7     while(~scanf("%d",&n)){
     8         int b=sqrt(n*1.0);
     9         if(b*b==n)
    10             puts("1");
    11         else
    12             puts("0");
    13     }
    14     return 0;
    15 }
  • 相关阅读:
    Windows 下搭建FTP服务器
    PHP的异常以及异常存在的意义
    IE兼容性
    YII插件
    PHPCMS部件
    YII学习笔记
    MAC下PHP开发
    iframe
    centos+apache+mod_ssl
    xcode快捷键
  • 原文地址:https://www.cnblogs.com/fu3638/p/7507239.html
Copyright © 2011-2022 走看看