КИМ №2 по информатике
  • Z
    May 2011 +1 -1
    Сообщений: 5
  • S8nchez
    May 2011 +1 -1 (+1 / -0 )
    Сообщений: 22
    x=-1, y=-1, да и вообще, для любых х, у, которые соответствуют первым двум, но не соответствуют третьему, программа ничего не выведет.
    доработка, паскаль:
    if (x*x+y*y<=1) and ((x<=1) or (y<= 1)) then writeln('принадлежит')
    else writeln('не принадлежит);
  • chebyrashka007chebyrashka007
    May 2011 +1 -1
    Сообщений: 19
    1. при х>1 или y>1 не выдается сообщение о не принадлежности. пример: x=2, y=0 (исправьте если что-часто ошибаюсь)
    2. if (x*x+y*y<=1) or ((x<=1)and(x>=0)and(y>=0)and(y<=1)) then write('принадлежит')
  • wkololo
    May 2011 +1 -1 (+0 / -1 )
    Сообщений: 22

    1. при х>1 или y>1 не выдается сообщение о не принадлежности. пример: x=2, y=0 (исправьте если что-часто ошибаюсь)
    2. if (x*x+y*y<=1) or ((x<=1)and(x>=0)and(y>=0)and(y<=1)) then write('принадлежит')



    как бы когда х и у больше 1 они и не должны принадлежать
    1) x=0,9; y=0,9
    2) после третей строки нужно писать так if (x>=0) and (y<=1) and (x<=1) and (y>=0)or (x*x+y*y<=1)then write('принадлежит') else write('не пренадлежит'); end;
  • Sibar
    May 2011 +1 -1 (+1 / -0 )
    Сообщений: 1
    получаем только круг пробовал в паскале
  • chebyrashka007chebyrashka007
    May 2011 +1 -1
    Сообщений: 19
    wkololo said:

    1. при х>1 или y>1 не выдается сообщение о не принадлежности. пример: x=2, y=0 (исправьте если что-часто ошибаюсь)
    2. if (x*x+y*y<=1) or ((x<=1)and(x>=0)and(y>=0)and(y<=1)) then write('принадлежит')



    как бы когда х и у больше 1 они и не должны принадлежать
    1) x=0,9; y=0,9
    2) после третей строки нужно писать так if (x>=0) and (y<=1) and (x<=1) and (y>=0)or (x*x+y*y<=1)then write('принадлежит') else write('не пренадлежит'); end;


    x=0,9; y=0,9
    да точно. эх, как бы на егэ не тупануть
  • wkololo
    May 2011 +1 -1
    Сообщений: 22
    Sibar said:

    получаем только круг пробовал в паскале



    мое решение тоже правильное.
  • ardisgulya
    May 2011 +1 -1
    Сообщений: 3
    1. для точки (1,1) программа напишет, что не принадлежит (первые два условия проходят как истинные, а вот 3-е условие покажет не принадлежность точки), хотя точка принадлежит к заштрихованной области.
  • Bil
    May 2011 +1 -1
    Сообщений: 8
    if (x*x+y*y<=1) or ((x<=1) and (x>=0) and (y>=0) and (y<=1) and (x*x+y*y>=1)) мне кажется так
  • pashik9198pashik9198
    May 2011 +1 -1
    Сообщений: 34
    по-моему так
    if(x>=0&&y>=0)
    {
    if(x<=1&&y<=1)
    {
    console.writeline("принадлежит");
    }
    }
    else if(x*x+y*y<=1)
    {
    console.writeline("принадлежит");
    }
    else
    ..."не принадлежит"

    проверьте еще раз)
  • MedstoreMedstore
    May 2011 +1 -1
    Сообщений: 4
    Ребята, как B10 делать подскажите
  • Yetsan
    May 2011 +1 -1 (+1 / -0 )
    Сообщений: 2
    if (x*x+y*y<=1) or ((x<=1)and(x>=0)and(y>=0)and(y<=1)) then write('принадлежит') я считаю так правильно
  • nebos
    May 2011 +1 -1
    Сообщений: 1
    if (x*x+y*y<=1) or (y<=1) and (x<=1) and (x*x+y*y>=1)
    then write('прин')
    else write('не прин')
  • anunaki134234
    May 2011 +1 -1 (+1 / -0 )
    Сообщений: 4

    Yetsan said:

    if (x*x+y*y<=1) or ((x<=1)and(x>=0)and(y>=0)and(y<=1)) then write('принадлежит') я считаю так правильно



    воистину =3
  • anunaki134234
    May 2011 +1 -1
    Сообщений: 4
    nebos said:

    if (x*x+y*y<=1) or (y<=1) and (x<=1) and (x*x+y*y>=1)
    then write('прин')
    else write('не прин')

    посмотри внимательно своё второе условие. По

  • shitfaced
    May 2011 +1 -1
    Сообщений: 24
    Чебурашка007, я тебя узнал :3
  • wkololo
    May 2011 +1 -1
    Сообщений: 22
    с4 без сортировки
    var a:array[1..12]of integer;
    k,i,j,n,l:integer;
    begin
    for i:=1 to 12 do
    a[i]:=0;
    l:=0;
    read(n);
    for i:=1 to n do
    begin
    read(k);
    a[k]:=a[k]+1;
    l:=l+1;
    end;
    for j:=1 to l do
    for i:=1 to 12 do
    if a[i]=j then writeln(i,' ',j);
    end.
  • elle27
    May 2011 +1 -1
    Сообщений: 14
    у меня вот так:
    If (x<=1) and (y<=1) and (x*x+y*y<=1) or (x<=1) and (y<=1) and (x*x+y*y>=1) then.....
  • fizfizhir
    May 2011 +1 -1
    Сообщений: 47
    В9-21. последовательность Фиббоначи. 1 1 2 3 5 8 13 21 (для а начиная с 3 строки)
  • anunaki134234
    May 2011 +1 -1
    Сообщений: 4
    elle27 said:

    у меня вот так:
    If (x<=1) and (y<=1) and (x*x+y*y<=1) or (x<=1) and (y<=1) and (x*x+y*y>=1) then.....


    подставь к тому что после or числа (-1;-1). Условие выполняется, хотя и не должно
  • ardisgulya
    May 2011 +1 -1
    Сообщений: 3
    в10) 11
  • anunaki134234
    May 2011 +1 -1
    Сообщений: 4
    перепутал) к тому что перед or)
  • egos_str
    May 2011 +1 -1
    Сообщений: 7
    странно.. в папке с КИМами 2 варианта был 1 файл.. потом появились все, а потом снова исчезли и остался один файл..

    их просто перенесли в папку первого варианта!)))
  • MedstoreMedstore
    May 2011 +1 -1
    Сообщений: 4
    вот оно
    Прикрепленные файлы
    111.jpg 85K
  • VIVArVIVAr
    May 2011 +1 -1
    Сообщений: 28
    А если С1 решить так

    if x*x+y*y<=1 then
    if not (x<=1 and y<=1) then
    print "Принадлежит"
    ELSE
    print "Не принадлежит"
    ENDIF
    ELSE
    print "Не принадлежит"
    ENDIF
    END

  • inv1z
    May 2011 +1 -1 (+1 / -0 )
    Сообщений: 23

    B10. Ответ: 11. Написал програмку, которая перебирает все варианты: http://codepad.org/3ffBouk4
  • Yetsan
    May 2011 +1 -1
    Сообщений: 2
    Я думаю нужно делать так: 2 в 10=1024 (переменных 10, значений 2 (0 или 1)...Потом решить от противного, каждое значение приравнять к 0. Ложь будет в случае, когда 0 или 0. Найти это значение, а потом из максимально вычесть полученное значение.
  • mad1gmad1g
    May 2011 +1 -1
    Сообщений: 452
    Yetsan said:

    Я думаю нужно делать так: 2 в 10=1024 (переменных 10, значений 2 (0 или 1)...Потом решить от противного, каждое значение приравнять к 0. Ложь будет в случае, когда 0 или 0. Найти это значение, а потом из максимально вычесть полученное значение.

    Тоже так подумал, но там так не получится. Второй икс стоит во втором уравнении на первом месте и без отрицания. То есть обратное фиг найдёшь.
  • Z
    May 2011 +1 -1
    Сообщений: 5
    В папку добавлены задания.
  • prodon
    May 2011 +1 -1
    Сообщений: 47
    C2
    max:=4;
    For i:=1 to N do
    If (A[i]>0) and (A[i]>max) and (A[i] mod 5 = 0) then
    max:=A[i];
    write(max);
  • German260693
    May 2011 +1 -1
    Сообщений: 27
    ребят че т непонятно как в10 решать
  • Buka2
    May 2011 +1 -1
    Сообщений: 60
    какой способ сортировки выбрать в С4?
  • Kate21Kate21
    May 2011 +1 -1
    Сообщений: 30
    wkololo
    Там же еще слова впереди нужны, нужно кратко описать алгоритм! Напиши пожалуйста!!!
  • inv1z
    May 2011 +1 -1
    Сообщений: 23
    Правильное решение B10 здесь: http://abiturient.pro/talk/discussion/comment/135167#Comment_135167
    И вообще, перебегаем в ту ветку.
  • Vladik208
    May 2011 +1 -1
    Сообщений: 1
    b10 ответ точно 11. нарисуйте ветку. 1-все нули. 2-x1=1остальные нули.3-x1,x2=1 остальные нули,3-x1,x2,x3=1 остальные нули и так далее. 11-все нули
  • no_user
    May 2011 +1 -1
    Сообщений: 52
    B10. Заметим, что если x_i=0, то x_{i+1} тоже 0 (из x_i or not x_{i+1} = 1). поэтому решение выглядит так: сначала несколько (может быть ни одной) единиц, затем - нули. итого - 11

  • Vladik208
    May 2011 +1 -1
    Сообщений: 1
    11-все единицы*
  • xochuna91
    May 2011 +1 -1
    Сообщений: 2
    в С3 победил Петя
  • NeveruNeveru
    May 2011 +1 -1 (+1 / -1 )
    Сообщений: 53
    С4 С++
    #include "iostream"

    using namespace std;

    int main () {
    int n;
    cin >> n;
    int *a=new int[n];
    int *b=new int[n];
    for(int i=1;i<=n;i++) b[i]=0;

    for(int i=1;i<=n;i++) cin >> a[i];

    for (int i=1;i<=n;i++) {
    for (int j=i+1;j<=n;j++) if (a[i]==a[j]) {b[a[i]]++;a[j]=0;} // Находим количество совпадений для запроса
    if (a[i]!=0) b[a[i]]++;} // и добавляем их в новый массив

    for (int i=1;i<=n;i++)
    for (int j=1;j<=n;j++) if (b[j]==i) cout << j << " " << b[j] << " " << endl; // Выводим в соотв.с кол-ом запросов

    return 0;}
  • Aleks_pro_
    May 2011 +1 -1
    Сообщений: 1

    какое решение будет в с3???
  • NeveruNeveru
    May 2011 +1 -1 (+1 / -1 )
    Сообщений: 53
    C++, C2 (фотка inf_05-11)

    max=1;
    for (i=0;iif (a[i]>0 && a[i]%5==0) max=a[i];
    cout << a[i];

    почему-то здесь отображается неправильно. нажмите "цитата"
  • NeveruNeveru
    May 2011 +1 -1
    Сообщений: 53
    С++, С1

    1) (1;1)
    2) if ((x*x+y*y<=1) || (x<=1 && x>=0 && y<=1)) printf ("Принадлежит");
    else printf("Не принадлежит");
  • xochuna91
    May 2011 +1 -1
    Сообщений: 2


    какое решение будет в с3???



    составь 4 варианты развития событий,там получиться что при любой стратегии выигрывает Петя потому что у него есть ход когда сумма меньше 23
  • inv1z
    May 2011 +1 -1 (+1 / -0 )
    Сообщений: 23
    C4. Верное решение на Си, протестированное: http://pastie.org/1979234
    Несколько комментариев для облегчения понимания:
    Задачи индексируем с нуля, то есть от 0 до 11.
    c[i] — количество запросов к задаче i
    a[i] — массив с перестановкой задач
    Для начала считываем N чисел, теперь мы знаем, сколько запросов было к каждой задаче.
    Теперь нам необходимо найти такой массив A, в котором хранятся номера задач, да причём так, что массив упорядочен по возрастанию количества запросов. Для этого сначала заполним массив A любой перестановкой, например (0 1 2 ... 10 11) и отсортируем его пузырьеом, но при сортировке будем сравнивать не значения a[j] и a[j + 1], а значения c[a[j]] и c[a[j + 1]], то есть, количество запросов к этоим задачам.
    Получаем отсортированный массив A. Теперь выводим ответ, если c[a[i]] > 0 (в ответе необходимо выводить только те задачи, к которым сделан хотя бы один запрос).
    Такие дела.
  • DrLind
    May 2011 +1 -1
    Сообщений: 7
    Блин насчет С3:
    Первый ход Петя может сделать: в куче №1 3 камня
    в куче №2 4 или 6 камней
    Ваня может утроить 3 камня, тогда он побеждает, может утроить 4 камня и опять он побеждает, может прибавить к 6 камням 2 камня, тогда он опять побеждает, как побеждает Петя?
    или я что то с условием не вывожу?