anastasiya613
?>

Вычисли сумму s=∑k=1nk+1k2+1, если значение n вводит пользователь. Если n=6, то вывод на экран (ответ округли до сотых) Объясните как решать никак не пойму.Если можно словами объясните

Информатика

Ответы

kartyshkinaaa
PascalABC.NET 3.4.0, сборка 1671 от 31.05.2018
Внимание! Если программа не работает, обновите версию!

№1

begin
  var (a,b):=ReadInteger2('Введите a,b:');
  if a.IsEven then a-=1;
  Range(a,b,-2).Println
end.

Пример
Введите a,b: 18 4
17 15 13 11 9 7 5

№2

begin
  var (a,b):=ReadInteger2('Введите a,b:');
  Range(b,a).Aggregate(BigInteger(1),(i,j)->i*j).Println
end.

Пример
Введите a,b: 50 7
42241796113490802838350844675089956728302279956889600000000000

№3

begin
  var n:=ReadInteger('n=');
  for var i:=1 to n do
    (1.To(i)).Println('')
end.

Пример
n= 7
1
12
123
1234
12345
123456
1234567
yurovolga
Задача 1.
Здесь вводим в цикле число и сразу же записываем в список (квадратные скобки), затем применяем встроенную функцию вычисления суммы списка sum и тут же выводим результат. В результате получилось использовать только одну переменную для цикла for 

Программа:
print(sum([int(input()) for i in range(10)]))

Задача 2.
n=int(input())  # вводим число n
k=0                #задаем начальное значение счетчика =0
for i in range(n):   #в цикле от 0 до n-1 раз выполняем
   if int(input())==0:   #если введенное число равно 0
       k+=1                 #то счетчик увеличиваем на 1
print(k)    #вывод результата

Задача 3.
Здесь лесенка строится из строк чисел, где каждая следующая строка ровно на один последний новый символ длиннее предыдущей:
1
12
123 
...
То есть достаточно приклеивать к предущей строке новый последний символ и получится лесенка!

Программа:
 
n=int(input())    #вводим число N
s=''                   #задаем пустую строку
for i in range(1,n+1):   #в цикле от 1 до n выполняем
    s+=str(i)       #приклеиваем к предыдущей строке новую букву i
    print(s)        #выводим строку символов

Задача 4.
Чтобы обойтись без проверки нечетности чисел, достаточно найти ближайшее нечетное число к началу интервала А:
допустим, что А=8, тогда A//2*2+1 дает 8//2*2+1=4*2+1=9 (здесь // - нахождение целой части от деления)
допустим теперь, что А=9, тогда А//2*2+1=9//2*2+1=4*2+1=9.
Так что формула A=A//2*2+1 всегда дает в результате ближайшее справа нечетное число, если число четное, и оставляет число без изменения, если число уже было нечетным.
Теперь генерируем список всех нечетных чисел, задавая в операторе range шаг =2, т.е. будем сразу перепрыгивать от нечетного к нечетному числу!
После получения списка нечетных чисел дадим команду сортировки в обратном направлении reverse и выводим полученный список! 

Программа:

a=int(input())  #задаем начальное значение интервала А
b=int(input())  #задаем конечное значение интервала В
a=a//2*2+1     #вычисляем ближайшее справа от А нечетное число
x=[]                 #задаем пустой список
for i in range(a,b+1,2):   # открываем цикл от А до В с шагом 2
    x+=[i]          #записываем получаемые нечетные числа в список х
x.reverse()      #задаем обратный порядок списка
for i in x:         #в цикле по списку х
    print(i)        #выводим все значения списка х

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вычисли сумму s=∑k=1nk+1k2+1, если значение n вводит пользователь. Если n=6, то вывод на экран (ответ округли до сотых) Объясните как решать никак не пойму.Если можно словами объясните
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Yurevich1701
Yuliya Aleksandr282
maxkuskov2485
stasletter
olga0909196323
energycomplect5914
sergeykvik13
igschuschkov6211
Platon
saint158
masamosijcuk140244
akinin95
Андрей_Станиславовна
colus77
andrew409