1. 程式人生 > >NYOJ 題目77 開燈問題

NYOJ 題目77 開燈問題

描述

有n盞燈,編號為1~n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關(這些燈將被關掉),第3 個人按下所有編號為3的倍數的開關(其中關掉的燈將被開啟,開著的燈將被關閉),依此類推。一共有k個人,問最後有哪些燈開著?輸入:n和k,輸出開著的燈編號。k≤n≤1000

輸入
輸入一組資料:n和k
輸出
輸出開著的燈編號
樣例輸入
7 3
樣例輸出
1 5 6 7

分析:這個題無非就是讓我們利用0,1的交替解決,開燈為1,關燈為0,定義一個數組,初始化為0,用燈對人依次取餘,0變1,1變0.

#include<stdio.h>
#include<string.h>
int a[1010];
int main()
{
    int n ,k;
    while(~scanf("%d%d",&n,&k))
    {
        memset(a,0,sizeof(a));
        int i ,j;
        for(i=1; i<=k; i++)
            for(j=1; j<=n; j++)
            {
                if(j%i==0)
                {
                    if(a[j]==0)
                        a[j]=1;
                    else a[j]=0;
                }
            }
        for(i=1; i<=n; i++)
            if(a[i]==1)
                printf("%d ",i);
        printf("\n");
    }
    return 0;
}


相關推薦

NYOJ 題目77 問題

描述 有n盞燈,編號為1~n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關(這些燈將被關掉),第3 個人按下所有編號為3的倍數的開關(其中關掉的燈將被開啟,開著的燈將被關閉),依此

NYOJ:77-問題

開燈問題 時間限制:3000 ms | 記憶體限制:65535 KB 難度:1 描述 有n盞燈,編號為1~n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關(這些燈將被關掉),第3 個人按下所有編號為3的倍數的開關(其中關掉的燈將被

nyoj 77 問題

開燈問題 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:1 描述 有n盞燈,編號為1~n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關(這些燈將被關掉),第3 個人按下所有編號為3的倍數的開關(其中關掉的燈將被開啟,開著的燈將被關

nyoj--77--問題

開燈問題 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:1 描述 有n盞燈,編號為1~n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關(這些燈將被關掉),第

南陽理工學院OJ—77問題

#include<iostream> #include<cstdio> #include<cstring> #define N 1005 using namespace std; /*這題目需要注意的是最後輸出時的格式*/ int mai

NYOJ-問題-77

//http://acm.nyist.net/JudgeOnline/problem.php?pid=77 /*題目77題目資訊執行結果本題排行討論區開燈問題 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:1 描述 有n盞燈,編號為1~n,第1個人

NYOJ77問題【思維】

開燈問題 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:1 描述 有n盞燈,編號為1~n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關(這些燈將被關掉),第3 個人按下所有編號為3的倍數的開關(其中關掉的燈將被開啟,開著的燈將被

南陽OJ 題目77問題

題目描述:題目連結 開燈問題 時間限制:3000 ms  |  記憶體限制:65535 KB 難度:1 描述 有n盞燈,編號為1~n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關

【刷題小記77問題

描述 有n盞燈,編號為1~n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關(這些燈將被關掉),第3 個人按下所有編號為3的倍數的開關(其中關掉的燈將被開啟,開著的燈將被關閉),依此類推

nyoj-問題

/*開燈問題時間限制:3000 ms | 記憶體限制:65535 KB難度:1描述有n盞燈,編號為1~n,第1個人把所有燈開啟,第2個人按下所有編號為2 的倍數的開關(這些燈將被關掉),第3 個人按

NYOJ問題

#include <stdio.h> int main() {int a,c,d,e;scanf("%d%d",&a,&d);int b[a];for (e=0;e<=a-1;e++){b[e]=0;}for (c=1;c<=d;c+

洛谷P1161 數學

clas sum pri iomanip 次數 i++ math pac ble 其實這道題就是讓你求這些數字中 出現了奇數次數的唯一的那個數 然後我們發現出現偶數次的話 因為 x^x=0 0^x=x 所以將這些數 異或起來最後剩下的那個數就是答案了 1 #

NYOJ 題目42 一筆畫問題(歐拉圖)

light ear ims ++ ring 推斷 post else tar 一筆畫問題 時間限制:3000 ms | 內存限制:65535 KB 難度:4 描寫敘述 zyc從小就比較喜歡玩一些小遊戲。當中就包含畫一筆畫。他想請你幫他寫一個程序。推斷一個

NYOJ_77 問題

pre targe stream 一個數 nyoj 推斷 geo i++ net 題目地址 分析: 用一個數組來保存每盞燈的操作的次數。推斷奇偶就可以推斷燈的狀態。 最後的輸出格式須要註意一下空格的位置,思路就是現輸出一個。剩下來

nyoj 題目10 skiing —— 南陽oj

while -i popu tracking pac 由於 bsp 時間 mem 題目信息例如以下: skiing 時間限制:3000 ms | 內存限制:65535 KB 難度:5 描

問題

pan 關閉 打開 () 操作 rst 一個 def for 有n盞燈,編號為1~n,第一個人把所有燈打開,第二個人按下所有編號為2的倍數開關(這些燈將被關掉),第三個人按下所有編號為3的倍數的開關(其中關掉的燈將被打開,開著的燈將被關閉),一次類推,一共有k個人,問最後哪

和蛇形

first cnblogs ems 輸出 lan size 判斷 return 哪些 競賽初入門,發現題目是真的挺難的,一道題目看下來完全不知道在說什麽,或者是沒頭緒,看了答案之後才慢慢能理解,嘛,一步一步來吧。 開燈問題,有n盞燈,編號為1-n, 第一個人把所有的燈都打

問題(算法競賽入門經典)

地方 wrong ios iomanip 報錯 man wro 裏的 memset #include <stdio.h>#include "stdafx.h"#include <iostream>#include<time.h>#incl

【洛谷】【數論】P1876

因數 ace namespace 打開 操作 main pac esp 成了 【題目描述:】 首先所有的燈都是關的(註意是關!),編號為1的人走過來,把是一的倍數的燈全部打開,編號為二的的把是二的倍數的燈全部關上,編號為3的人又把是三的倍數的燈開的關上,關的開起來……直到第

洛谷P1876

ace spa ++ pan mat col ios mes space 題目描述 有n盞燈,一開始全是關閉的。來n個人, 第一個人把一的倍數的燈開著的關上,關上的打開。 第二個人把二的倍數的燈開著的關上,關上的打開。 第三個人把三的倍數的燈開著的關上,關上的打開。 ...