zoukankan      html  css  js  c++  java
  • 一道数论题目

    题目

    有100盏灯,编号1-100,初始时都是亮着灯。有一百个小孩,编号1-100。每盏灯对应一个开关,按下时灯亮,再按则灯灭。让这一百个小孩依次按开关,每个小孩只能按其编号倍数的开关。比如1号小孩可以按所有开关,2号小孩只能按编号为偶数的开关,以此类推。请问所有的小孩都按过开关以后(注意:每个小孩都必须按下所有他能按下的灯),哪些灯是亮着的?

    答案

    编号为平方数的灯是亮着的,1, 4, 9, 。。。 100。

    分析

    对于任意一盏灯的开关,如果被按了奇数次,那么最终它是亮着的,哪些灯的开关会被按奇数次呢?假设某一盏灯的编号为n,如果n有奇数个约数,那么这盏灯将被按奇数次。

    对于任意一个正整数n,它的约数都是成对出现的,也就是说,如果k是n的约数,那么n/k也是n的约数,但是有一个例外,就是当n是平方数,且k=sqrt(n)时,k与n/k是相同的,也就是说平方数的约数有奇数个。所以。。。

  • 相关阅读:
    Oracle 创建索引分区
    Shiro SessionManager会话管理器设计概念
    管理表分区
    Oracle 表分区策略
    Oracle 表分区
    参考Shiro的Session定期验证会话失效的线程池
    HDU 3555 Bomb (数位dp)
    POJ 3666 Making the Grade (动态规划)
    Gym
    POJ
  • 原文地址:https://www.cnblogs.com/graphics/p/1749427.html
Copyright © 2011-2022 走看看