HDU 2053 Switch Game

该博客主要介绍了ACM HDU 2053题目的解题思路和C语言代码实现。题目涉及一个序列操作,其中灯泡的状态根据其编号是否为当前操作次数的倍数而改变。通过模拟这一过程,可以确定在无穷次操作后每个灯泡的状态,特别是第n个灯泡的状态。提供的C语言代码展示了如何计算并输出这个状态。
摘要由CSDN通过智能技术生成
Switch Game
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2053 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) 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
————————————————————————————————
hint
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.
————————————————————————————————————————————————————
题目大意:有n个灯泡排成一列,所有灯泡的初始状态都是关闭的,现在对这些灯泡做开关操作:在第n次操作时,号码是n的倍数的灯状态改变(开变为闭,闭变开)
尝试一下模拟第n次灯泡的状态
c语言AC代码:
#include<stdio.h>
int main()
{
        int n;
        while(scanf("%d",&n)!=EOF)
        {
            int t=0;       //初始状态为0
            for(int i=1;i<=n;i++)  //用for循环模拟第n次的灯泡状态
            {
                if(n%i==0)    
                {      //如果n是操作次数i的倍数,则改变灯泡状态
                    t=!t; 
                }
            }
            printf("%d\n",t);//输出第n个灯泡的状态
        }

        return 0;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值