21

Re: Задачки

ktretyak написав:

Ви можливо не побачили напису Time limit exceeded    #stdin #stdout 5s 25752KB

Я думав, що моя думка зрозуміла: той маркер нічого не перериває. Якщо хочете, от без таймліміту: http://ideone.com/wURdbA

22

Re: Задачки

Хоча у вашому прикладі "текстовий результат правильний", але ви ще зайві 10 ітерацій проганяєте зовнішнього та внутрішнього циклів.

23

Re: Задачки

ktretyak написав:

Хоча у вашому прикладі "текстовий результат правильний", але ви ще зайві 10 ітерацій проганяєте зовнішнього та внутрішнього циклів.

Але я показував вам, що маркер нічого не зупиняє, а не постив рішення задачі. Я взагалі не знаю PHP, і рішення відправляв би на чомусь іншому.
І у вас теж зайвий оборот внутрішього циклу, якщо що.

24

Re: Задачки

Ви помиляєтесь, бо вираз завершення циклу

$marker == 0

досить зрозумілий не лише PHP програмістам. Цей вираз поверне true лише якщо $marker буде рівний 0, і false в противному разі.

P.S. Знову ви тримаєтесь за свої судження наче це частина вашого тіла... Краще інколи визнавати помилковість своїх тверджень.

25

Re: Задачки

ktretyak написав:

Ви помиляєтесь, бо вираз завершення циклу

$marker == 0

досить зрозумілий не лише PHP програмістам. Цей вираз поверне true лише якщо $marker буде рівний 0, і false в противному разі.

P.S. Знову ви тримаєтесь за свої судження наче це частина вашого тіла... Краще інколи визнавати помилковість своїх тверджень.

Яке моє твердження ви спростували подібним чином?

26

Re: Задачки

quez написав:

Яке моє твердження ви спростували подібним чином?

quez написав:

Але я показував вам, що маркер нічого не зупиняє, а не постив рішення задачі...

27 Востаннє редагувалося Blast (24.11.2014 06:35:56)

Re: Задачки

tiktak написав:
#!/usr/bin/env python3


n = int(input('Enter number: '))

result = []

for i in range(1, n):
    t = n - len(result)

    result += [i]*i if t >= i else [i]*t

for i in result:
    print(i, end=' ')

print()

Спасибі , але не працює з 1-ю і двійкою.

АП. Виправив.

for i in range(1, n+1):

28

Re: Задачки

Blast, так у вас вже працює коректно код, чи ще ні?

29

Re: Задачки

ktretyak написав:

Цікава задачка, можна її розв'язати ще простіше, ніж я вище написав (без масиву).

На PHP це має такий вигляд:

<?php

$n = 15;

for($marker = 0, $i2 = $i1 = 1; $marker == 0; $i1++)
{
  for($i3 = 1; $i1 >= $i3; $i2++, $i3++)
  {
    if($n < $i2)
    {
      $marker = 1;
      break;
    }
    
    echo "$i1 ";
  }
}

Якщо для простого виводу Число=кількістi виводів цього числа,то можна

<?php

for($i=1; $i<=50; ++$i)
{
echo str_repeat($i,$i);
}

30

Re: Задачки

1−(x+2)^2, при x≤−2
f(x)=       -x/2,−2<x≤2
      (x−2)^2+1, при 2<x


Прихований текст
y = float(input())
def f(x):
    if x <-2:
        x = (1-(x+2)**2)
        print (x)
    elif x == -2:
        x = (1-(x+2)**2)
        #print (x)
    elif x in range(-2,3):
        if x == 0:
            x==0
        else:
            x = (-x/2)
        #print (x)
    elif x >2 :
        x = ((x-2)**2)+1
        #print (x)

f(y)

31 Востаннє редагувалося Blast (24.11.2014 19:31:34)

Re: Задачки

І знову не приймає код . Оформити потрібно функцією.

1−(x+2)^2, при x≤−2
f(x)=       -x/2,при −2<x≤2
               (x−2)^2+1, при 2<x


Прихований текст
y = float(input())
def f(x):
    if x <-2:
        x = (1-(x+2)**2)
        print (x)
    elif x == -2:
        x = (1-(x+2)**2)
        #print (x)
    elif x in range(-2,3):
        if x == 0:
            x==0
        else:
            x = (-x/2)
        #print (x)
    elif x >2 :
        x = ((x-2)**2)+1
        #print (x)

f(y)

32

Re: Задачки

в когось є якісь ідеї ?

33

Re: Задачки

Тобто та задачка, яка описана в першому повідомленні вже вирішена?

34

Re: Задачки

ktretyak написав:

Тобто та задачка, яка описана в першому повідомленні вже вирішена?

так

35 Востаннє редагувалося tiktak (26.11.2014 22:50:55)

Re: Задачки

#include <stdlib.h>
#include <stdio.h>


int main(void){
    int size;
    printf("Enter number: ");  scanf("%d", &size);

    int num = 1;

    while (size >= num){
        for (int i = 0; i < num; ++i)  printf("%d ", num);

        size -= num;
        ++num;
    }

    for (int i = 0; i < size; ++i)  printf("%d ", num);

    printf("\n");

    return EXIT_SUCCESS;
}

#!/usr/bin/env python3


size = int(input('Enter number: '))

num = 1

result = []

while size >= num:
    result += [num] * num

    size -= num
    num += 1

result += [num] * size

for i in result:
    print(i, end=' ')
print()

36

Re: Задачки

Blast написав:

І знову не приймає код . Оформити потрібно функцією.

1−(x+2)^2, при x≤−2
f(x)=       -x/2,при −2<x≤2
               (x−2)^2+1, при 2<x


Прихований текст
y = float(input())
def f(x):
    if x <-2:
        x = (1-(x+2)**2)
        print (x)
    elif x == -2:
        x = (1-(x+2)**2)
        #print (x)
    elif x in range(-2,3):
        if x == 0:
            x==0
        else:
            x = (-x/2)
        #print (x)
    elif x >2 :
        x = ((x-2)**2)+1
        #print (x)

f(y)

#!/usr/bin/env python3


def f(x):
    if x <= -2:
        y = 1 - (x+2)**2
    elif -2 < x <= 2:
        y = -x / 2
    elif x > 2:
        y = (x-2)**2 + 1

    return y

x = float(input('Enter x: '))

print(f(x))

37

Re: Задачки

Прийшло завданнячко якого я навіть не зрозумів.

Прихований текст

Напишите программу, на вход которой подаётся прямоугольная матрица в виде последовательности строк, заканчивающихся строкой, содержащей только строку "end" (без кавычек)

Программа должна вывести матрицу того же размера, у которой каждый элемент в позиции i, j равен сумме элементов первой матрицы на позициях (i-1, j), (i+1, j), (i, j-1), (i, j+1). У крайних символов соседний элемент находится с противоположной стороны матрицы.

В случае одной строки/столбца элемент сам себе является соседом по соответствующему направлению.

1.Як можна прийняти матрицю ?

38

Re: Задачки

x = int(input())
a= []
bdl = (x*x)

for idi in range(1,bdl+1):
    a.append(idi)


i = 0 # 
while i < x:
    if i%2 == 0:
        j = i * x
        k = j + (x-1)
        while j <= k:
            print('%4d' % a[j], end='')
            j += 1
        print()
    else:
        j = i * x
        k = j + (x-1)
        while j <= k:
            print('%4d' % a[k], end='')
            k -= 1
        print()
    i += 1

1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

Як змінити вивід ? як на прикладі ?

39

Re: Задачки

up

40

Re: Задачки

мінімальна оплата ап