AOI6 2021-09-23 14:29 采纳率: 92.3%
浏览 51
已结题

一道关于C语言的题目用C语言解答

V_Dragon有n栈电灯泡,编号为1-n,每个灯泡都有一个开关。那么问题来了

所有灯泡初始时为不亮的

V_Dragon分别进行三次操作

每次操作他都选一个质数x,将编号为x和x的整数倍的灯泡的开关都拨动一下(如果灯为亮,那么拨动以后灯为不亮,如果灯不亮,拨动以后变为亮)

求最后亮着的灯的数量

Input
输入T表示T组测试数据(1<=T<=100)

接下来T组测试数据

每组第一行一个n表示灯泡个数(1<=n<=10^9)

第二行三个数a,b,c表示V_Dragon每次选择的数(1<=a,b,c<=10^6)(a,b,c全为质数且a,b,c两两互不相等)

不懂格式的同学可以参考以下格式:

Output
数组最后亮着的灯的个数

SampleInput
1
30
2 3 5
SampleOutput
15

  • 写回答

3条回答 默认 最新

  • Admini$trat0r .net领域新星创作者 2021-09-23 14:47
    关注
    
    #include <stdio.h>
    #include <string.h>
    int main()
    {
        int T;
        scanf("%d", &T);
        while(T--)
        {
            int N, a, b, c, sum = 0;
            scanf("%d %d %d %d", &N, &a, &b, &c);
            bool array[N + 1];
            for (int i = 1; i <= N; i++)
            {
                array[i] = false;
            }
            //memset(array, 0, N);
            for (int i = 2; i <= N; i++)
            {
                if (i % a == 0)
                {
                    array[i] = !array[i];
                }
                if (i % b == 0)
                {
                    array[i] = !array[i];
                }
                if (i % c == 0)
                {
                    array[i] = !array[i];
                }
            }
            
            for (int i = 1; i <= N; i++)
            {
                if (array[i])
                {
                    sum++;
                }
                //printf("%d\n", array[i]);
            }
            printf("%d\n", sum);
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月1日
  • 已采纳回答 9月23日
  • 创建了问题 9月23日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么