По разделам



Задача Series 23


Дано целое число N (> 2) и набор из N вещественных чисел. Набор
называется пилообразным, если каждый его внутренний элемент либо
больше, либо меньше обоих своих соседей (то есть является «зубцом»).
Если данный набор является пилообразным, то вывести 0; в противном
случае вывести номер первого элемента, не являющегося зубцом.

Код (C/C++)

#include <bits/stdc++.h>

using namespace std;

int main()
{

    int n, t, t1, t2;
    cin >> n;
    cin >> t1 >> t2;
    for(int i = 2; i < n; ++i){
        cin >> t;
        if((t - t2) * (t1 - t2) <= 0){
            cout << i - 1;
            return 0;
        }
        t1 = t2;
        t2 = t;
    }
    cout << 0;
    return 0;
}

Код (Python)

import random

N = random.randrange(5,20)
#N = 100
print("N = ",N)

x_prev = random.randrange(1,10)
#print(1,":",x_prev)
x_curr = random.randrange(x_prev,x_prev+11)
#print(2,":",x_curr)
print(x_prev,end="; ")
print(x_curr,end="; ")
k = -1
saw = 0 
for i in range(2,N):
    if k == 1:
        x_next = random.randrange(x_curr,x_curr+11)
    else:
        x_next = random.randrange(x_curr-10,x_curr)
    k *= -1
    #print(i+1,x_curr,":",x_next)
    print(x_next,end="; ")

    if saw == 0:
        if not ((x_prev < x_curr and x_curr > x_next) \
           or (x_prev > x_curr and x_curr < x_next)):
            saw = i
    x_prev = x_curr
    x_curr = x_next
    
print()
if saw == 0:
    print("saw: ", saw)
else:
    print("not saw: ", saw)
									

Код (Pascal)

program Series23;
var
  i,N,Num,Num1,Num2,El :Integer;
  b:boolean;
begin
 b:=TRUE;
 El:=0;
 Write('N:');
 Readln(N);
 
 for i:=1 to N do
   begin
    write('Введите ',i,' элемент набора :');
    Num2:=Num1;
    Num1:=Num;
    Readln(Num);
 
    if (not((Num2<Num1) and (Num1>Num)) and
       not((Num2>Num1) and (Num1<Num))) and
       (i>2) and
        b then
     begin
      El:=i-1;
      b:=FALSE;
     end;
   end;
  Writeln(El);
end.
									




Series. Абрамян
Series 1 Просмотров: 15
Series 2 Просмотров: 9
Series 3 Просмотров: 14
Series 4 Просмотров: 19
Series 5 Просмотров: 13
Series 6 Просмотров: 9
Series 7 Просмотров: 10
Series 8 Просмотров: 9
Series 9 Просмотров: 12
Series 10 Просмотров: 16
Series 11 Просмотров: 11
Series 12 Просмотров: 10
Series 13 Просмотров: 13
Series 14 Просмотров: 10
Series 15 Просмотров: 12
Series 16 Просмотров: 21
Series 17 Просмотров: 19
Series 18 Просмотров: 11
Series 19 Просмотров: 16
Series 20 Просмотров: 8
Series 21 Просмотров: 11
Series 22 Просмотров: 13
Series 23 Просмотров: 15
Series 24 Просмотров: 12
Series 25 Просмотров: 20
Series 26 Просмотров: 12
Series 27 Просмотров: 11
Series 28 Просмотров: 13
Series 29 Просмотров: 8
Series 30 Просмотров: 6
Series 31 Просмотров: 10
Series 32 Просмотров: 8
Series 33 Просмотров: 8
Series 34 Просмотров: 16
Series 35 Просмотров: 12
Series 36 Просмотров: 7
Series 37 Просмотров: 8
Series 38 Просмотров: 11
Series 39 Просмотров: 9
Series 40 Просмотров: 8

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться