Помогите решить задачу...

Тема в разделе "Информатика", создана пользователем Mr._First, 5 фев 2010.

  1. Mr._First

    Mr._First New Member

    Помогите решить задачу на любом языке программирования.Имеется ряд из N лампочек, которые пронумерованы от 1 до N. Изначально ни одна из лампочек не горит. Далее происходит K последовательных линейных инверсий этого ряда ламп. Под линейной инверсией понимается инверсия каждой P-й лампочки в ряде. Например, если P=3, то произойдет инверсия 3й, 6й, 9й и т.д. лампочек.Требуется определить: сколько горящих лампочек останется после реализации всех заданных линейных инверсий?

    Входные данные:
    В первой строке входного файла INPUT.TXT заданны числа N и K – число лампочек и число линейных инверсий. Вторая строка состоит из K целых чисел Pi, задающих период данных инверсий. (1 <= N <= 109, 1<=K<=100, 1 <= Pi <= 50)
    Выходные данные
    В выходной файл OUTPUT.TXT следует вывести ответ на задачу.
     
  2. Joyt

    Joyt New Member

    Package test;
    import java.io.*;
    public class Test {    public static void main(String[] args) throws IOException {         BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
    String line = in.readLine();
    int N = Integer.parseInt(line);
    boolean[] mas = new boolean[N];        
    String line2 = in.readLine();       
    int K = Integer.parseInt(line2);        
    for(int x = 0; x < N; x++){mas[x]=false;}        
    for(int z = 0; z < K; z++){String line1 = in.readLine();
                int P = Integer.parseInt(line1);
                for(int i = P - 1; i < N; i = i + P){if (mas == false) {mas=true;}               
                                                             else mas = false;
                }       
    }        
    for(int l = 0; l < N; l++){if(mas[l]==true){System.out.println("+");}
    else System.out.println("-");        }    }}
     

Поделиться этой страницей

Наша группа