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*
Комментарий*

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

elenalukanova
Екатерина1979
КОРМИЛИЦЫНА
katarinacorvus825
sharikplushelen
Abdullaev
lele52
Зинина-Олесия
Nertman45
kristina
Kuzminastia20038
ganna1790
d43irina
Salnikov1730
Hugokate77729