关灯问题

原创 2015年07月08日 12:59:49
/*----------------------------------------------------------
描述:一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编
号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。开始,电灯全部
关着。
    有n 个学生从长廊穿过。第一个学生把号码凡是1 的倍数的电灯的
开关拉一下;接着第二个学生把号码凡是2 的倍数的电灯的开关拉一下;
接着第三个学生把号码凡是3 的倍数的电灯的开关拉一下;如此继续下
去,最后第n 个学生把号码凡是n 的倍数的电灯的开关拉一下。
    问:n 个学生按此规定走完后,长廊里电灯有几盏亮着。
    注:电灯数和学生数一致。
-----------------------------------------------------------*/

#include<iostream>
#include<string>
using namespace std;

int main()
{
    int n,sum = 0,bn[65535] = {0};
    cout<<"输入灯的盏数:"<<endl;
        cin>>n;
    for(int i = 1;i <= n;i++)
    {
        for(int j = 1;j <= n;j++)
            if(i%j == 0)
            {
                bn[i]++;
            }
    }
    for(int i = 1;i <= n;i++)
        if(bn[i]%2 != 0)
            sum++;
    cout<<sum<<endl;

}

相关文章推荐

智力算法题之开关灯问题

有编号1~100个灯泡,起初所有的灯都是灭的。有100个同学来按灯泡开关,如果灯是亮的,那么按过开关之后,灯会灭掉。如果灯是灭的,按过开关之后灯会亮。 现在开始按开关。 第1个同学,把所有...

POJ 3279 Fliptile 开关灯问题(状态压缩加暴力搜索)

题目大意: 按下一个灯时它的状态会改变而且它上下左右的状态也会改变 求要使得全部为0要怎么按。 分析: 可以知道每个灯最多按一次,因为按两次等于没按。 而且只需要判断第一行的状态后面的怎么按...
  • HHH_go_
  • HHH_go_
  • 2016年07月29日 11:30
  • 221

poj 1830 开关灯问题(高斯消元法)

题目分析: 注意:有个地方要反过来 #include #include #include #include #include using namespace std; const int max...
  • wconvey
  • wconvey
  • 2012年06月07日 13:37
  • 1483

学生关灯问题

今天看到别人分享的一道huawe

开关灯问题

题目描述 有若干只灯排成一排。所有的灯开始的时候都是关闭的,现对这些灯进行一系列的操作。在第i次操作的时候,调整所有编号是i的倍数的灯的状态(原本打开的灯将它关闭,原本关闭的将它打开)。 输入 每组测...

POJ-1222-开关灯问题-高斯消元

题目:一个5*6的开关矩阵,按一个按钮能使这个灯和上下左右的灯改变状态,问怎么按可以使灯全灭 思路:建立一个方程,用高斯消元求 #include #include #include #includ...

poj 1222 关灯开灯问题 暴搜

EXTENDED LIGHTS OUT Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 547...

舞会 关灯 黑帽子 白帽子问题

舞会 关灯 黑帽子 白帽子问题

hdu 5755 Gambler Bo 高斯消元 + 取余逆元 模3系下的开关灯问题

题目链接:见这里 解法:对每一个位置设一个未知变量x,每个位置都有一个结果变量y,表示要操作多少次可以把该位置变为0,这样对于每一个未知量可以对其周围的元素产生影响,列出一个现象方程组 MX = ...

nyoj77开灯问题 VS poj1218 THE DRUNK JAILER(开关灯问题模板)

开灯问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯将被关掉),第3 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关灯问题
举报原因:
原因补充:

(最多只允许输入30个字)