zoukankan      html  css  js  c++  java
  • NYOJ-开灯问题

    开灯问题
    时间限制:3000 ms  |  内存限制:65535 KB

    难度:1
    描写叙述

    有n盏灯,编号为1~n。第1个人把全部灯打开,第2个人按下全部编号为2 的倍数的开关(这些灯将被关掉),第3 个人按下全部编号为3的倍数的开关(当中关掉的灯将被打开,开着的灯将被关闭),依此类推。一共同拥有k个人,问最后有哪些灯开着?输入:n和k,输出开着的灯编号。k≤n≤1000

    输入
    输入一组数据:n和k
    输出
    输出开着的灯编号
    例子输入
    7 3
    例子输出
    1 5 6 7
    
    
    代码:
    #include<stdio.h>
    int main()
    {
    	int n,k,i,j,f[1001];
    	scanf("%d%d",&n,&k);
    	for(i=1;i<=n;++i)
    	f[i]=1;
    	for(i=2;i<=k;++i)
    	{
    		for(j=i;j<=n;j+=i)
    		f[j]=f[j]*-1;
    	}
        printf("1");
        for(i=2;i<=n;++i)
    	 if(f[i]==1)
    	  printf(" %d",i);
    	printf("
    ");
    	return 0;
    }


  • 相关阅读:
    微服务架构
    微服务架构
    Java语言编程
    Java语言编程
    Java语言编程
    《自己动手写云盘》 – 确立需求
    树上差分
    线性基
    BM(Berlekamp-Massey)算法
    FFT/FWT
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5172023.html
Copyright © 2011-2022 走看看