Результат максимальное значение 9280
Задания 6
1.1
Дано n0=1, s<51, nk=64,S=S+5, n=n*2, Somin-?
Решение.
Проверим, на каком цикле программа выведет результат n=64
Т.к n изменяется по формуле n=(2*2*….),где количество множителей из двоек соответствует количеству циклов, значит
nk= 2k = 64, k=6.
Таким образом на 6 цикле у нас будет
S<51 да
S=Somin+ 6 *5
n6= 26 = 64
Значит, на следующей проверке цикла мы должны не пройти условие S<51 , выйти из цикла и вывести значение n=64.
Для того чтобы условие S<51 не соблюдалось, наше реальное S должно быть >=51.
Somin+ 6 *5>=51 Somin>=21 , откуда минимальное целое число при решении неравенства 21
Ответ 21.
Программно. 1 вариант
вывело 25.24.23.22.21 – все s при которых n =64, наименьшее 21
2 вариант
вывело 25.24.23.22.21 – все s при которых n =64, наименьшее 21
1.2.
Дано n0=1, s<=130, nk=625,S=S+20, n=n*5, Somax-?
Решение.
Проверим, на каком цикле программа выведет результат n=625
Т.к n изменяется по формуле n=(5*5*….),где количество множителей из 5 соответствует количеству циклов, значит
nk= 5k = 625, k=4.
Таким образом на 4 цикле у нас будет
S<=130 да
S=So+ 4 *20
n4= 54 = 625
Значит, на следующей проверке цикла мы должны не пройти условие S<=130 , выйти из цикла и вывести значение n=625.
Для того чтобы условие S<=130 не соблюдалось, наше реальное текущее S должно быть >130.
Т.е 4 цикл последний цикл
So+ 4 *20>130 So>50 при этом значении условие не соблюдается , а при S=51 это минимальное возможное значение при котором условие соблюдается,
|
|
Найдем верхнюю границу, т.к на предпоследнем(третьем) цикле мы уже достигнем пограничное значение S<=130 при котором еще возможно выполнение последнего 4 цикла(чтобы n=625), т.е на третьем цикле So+ 3 *20<=130, отсюда 70 =130-60 , Somax <= 70 . Вилка от 51 до 70.
Ответ 70
Внимание! Вывод - в таких задачах минимальное значение достигается на последнем возможном цикле, а максимальное на предыдущем.
Программа для проверки. 1 Способ
Выведет от 70 до 51. 2. Способ.
1.3.
Дано n0=34, n<=170, Skmin=1000,S=S+120, n=n+23, So-?
Решение.
Й Способ.
1.1 Проверим, на каком цикле программа закончит работать и выведет результат.
Первый цикл, k=1, где к – номер текущего цикла.
34<=170 - да
S=So+120 или S=So+1*120 (So+k*120)
n=34+23= 57 или n=34+1*23 (n=34+k*23)
Второй цикл, k=2
57<=170 - да
S=So+120+120 или S=So+2*120 (So+k*120)
n=34+23+23=80 или n=34+2*23 (n=34+k*23)
Третий цикл, k=3
80<=170 - да
S=So+120+120 +120 или S=So+3*120 (So+k*120)
n=34+23+23+23=103 или n=34+3*23 (n=34+k*23)
Четвертый цикл, k=4
103<=170 - да
S=So+120+120 +120+120 или S=So+4*120 (So+k*120)
n=34+23+23+23+23=126 или n=34+4*23 (n=34+k*23)
Пятый цикл, k=5
126<=170 да
S=So+120+120 +120+120 +120 или S=So+5*120 (So+k*120)
n=34+23+23+23+23+23=149 или n=34+5*23 (n=34+k*23)
Шестой цикл, k=6
149<=170 - да
S=So+120+120 +120+120 +120 +120 или S=So+6*120 (So+k*120)
|
|
n=34+23+23+23+23+23+23=172 или n=34+6*23 (n=34+k*23)
Седьмой цикл, k=7
172<=170 - нет, выход из цикла
Вывод результата S=So+6*120 ,
Теперь нам надо найти минимальное So при S>=1000(первое четырехзначное число)
So+720>=1000
So>=280
На отрезке решений неравенства минимальное целое S = 280
Ответ 280.
Теперь унифицируем первый способ.
Й способ
Найдем сколько циклов пройдет программа , пока не достигнется условие n>170(цикл работает пока n<=170). По условию задачи с каждым циклом к n прибавляется 23, т.е за k циклов получим конечное nk=no+23k, а Sk =So+k*120
подставляем все , что нам известно про n, при условии что условие выполнилось, те nk>170, и следующий шагом в программе будет проверка на n<=170 и выход из цикла(См. способ 1).
34+23*k > 170, отсюда k>5.9, берем первое целое число, на отрезке, удовлетворяющем решение неравенства , тк кол-во циклов – целые числа, получаем k=6. На этом цикле мы выполняем все действия в теле цикла(S=S+120, n=n+23), затем идем на проверку n<=170, не проходим ее и выходим из цикла(см способ 1 шаг 6,7), при этом у нас S=So+6*120 .
Значит, мы выводим на печать S=So+6*120 , нас спрашивают найти такое мин So, чтобы S>=1000
So+720>=1000
So>=280
На отрезке решений неравенства минимальное целое S = 280 Ответ 280.
Напишем программный код
|
|
for i in range (0,1001,1): #перебор всех s от 0 до 1001
n=34
s=i
while n<=170:
s=s+120
n=n+23
if s>=1000:# как только достигаем искомое , печать начального значения n и выход из цикла
print(i) #
break
print(s)
Здесь результат будет 280, это минимальное значение, а максимальное ищем по достижении 5 тизначного числа, т.е цикл до 10000, сравнение с 9999,
for i in range (0,10000,1): #перебор всех s от 0 до 9999
n=34
s=i
while n<=170:
s=s+120
n=n+23
if s>=9999:# как только достигаем искомое , печать начального значения n и выход из цикла
print(i) #
break
print(s)
Результат максимальное значение 9280
1.4.
Дано ko=0, so=5 , S=S+k, k=k+2, sn= 161 , domin-?
Решение.
Проверим, на каком цикле n программа выведет результат sn= 161
Т.к k изменяется по формуле k= ko+(2+2+2…) = ko+2*n=0+2*n=2n ,где количество множителей из двоек соответствует количеству циклов
Найдем закономерность для s , заметив , что Sn=Sn-1+2*n=161(заметим ,что разность между ними = 2n), макcимальное d=160, а т.к Sn-1<d< Sn то для минимального d фактически нам надо найти количество циклов ,
k1 = 2*1 s1=5+2*1, k2 = 2*2 s2=5+2*1+2*2, k3 = 2*3 s3= 5+2*1+2*2+2*3 и тд
sn=so+2(1+2+3+..n) =161, где 1+2+3+… сумма арифм. Прогрессии. = (1 + n)/2 * n
sn=5+2*(1+n)*n/2=161 n2+n+5-161=0 , отсюда n=12, т.е на 12 цикле у нас будет s12=161 , тогда найдем предыдущую s11=5+2(1+11)11/2=137 или sn-sn-1=2n Sn-1= 161-2n=161-22=137 , 137<d<162, минимальное первое число
|
|
138
Программно
Результат от 138 до 161- минимум 138
Ответ 138
Дано :
no=33 so=4 nk=153
s<=1725 s=s+d n=n+8
dmax, dmin-?
Решение
Определим закономерность для s, где k – количество циклов/итераций
Sk=so+kd=4+kd, nk=no+8*k, тк в последнем цикле nk=153 - найдем k = (153-33)/8=15
Итак 15-й последний цикл s14<1725 – да
S15=4+15*d становится больше 1725(следующий 16-й цикл не должен выполнится), значит 4+15d>1725, d>114.7, т.е мин целое d=115
Для макисмального зайдем в 14 цикл, где получим s14 , которое потом уходит последний раз на сравнение в 15 цикл
Итак 14 цикл s14=4+14d причем <=1725( условие выполняется последний раз) , тогда d<=122.9, ближайшее целое 122
Ответ: 115, 122
Решение
Определим закономерность для s, где k – количество циклов/итераций
Sk=so+k*8=0+k*8, nk=no+k*d=k*d,
для последнего цикла s k>=111 - найдем 8*k> = 111 k>=13.8, тогда ближаший k=14.
Итак 14-й последний цикл s14<111 – да
S14=0+14*8 =112 становится больше 111(следующий 15-й цикл не должен выполнится), и n14=0+14*d = 28 , отсюда d=2
Ответ 2.
def f(d): # подпрограмма , передаем туда d, из бесконечного цикла, см ниже
s, n =0, 0
while s<111:
s=s+8
n=n+d
return (n) # нам надо вернуть n , чтобы потом сравнить его с 28
d=0
while True: #бесконечный цикл, здесь мы перебираем d от 0 с шагом +1 до бесконечности
if f(d)==28:
print (d) # передаем в подпрограмму текущую d ,выполняем с этим d подпрограмму и
# сравниваем вернувшееся значение n c 28
d=d+1
Вывело 2
или вариант
d=0
while True:
s, n = 0, 0
while s<111:
s=s+8
n=n+d
if n==28: print(d )
d=d+1 Вывело 2
1) При каком наименьшем введенном числе d после выполнения программы будет напечатано 67?
var n, s, d: integer;
Begin
readln(d);
n := 2;
s := 0;
while s <= 365 do begin
s := s + d;
n := n + 5
end;
Write(n)
End.
Решение программно
Выведет 29,30, наим = 29
Ответ 29.
2) При каком наибольшем введенном числе d после выполнения программы будет напечатано 89?
var n, s, d: integer;
Begin
readln(d);
n := 5;
s := 83;
while s <= 1200 do begin
s := s + d;
n := n + 6
end;
Write(n)
End.
Ответ:85
3) При каком наименьшем введенном числе d после выполнения программы будет напечатано 63?
var n, s, d: integer;
Begin
readln(d);
n := 3;
s := 57;
while s <= 1200 do begin
s := s + d;
n := n + 4
end;
Write(n)
End.
Ответ 77
4) При каком наибольшем введенном числе d после выполнения программы будет напечатано 150?
var n, s, d: integer;
Begin
readln(d);
n := 3;
s := 38;
while s <= 1200 do begin
s := s + d;
n := n + 7
end;
Write(n)
End.
Ответ 58
5) При каком наименьшем введенном числе d после выполнения программы будет напечатано 121?
var n, s, d: integer;
Begin
readln(d);
n := 1;
s := 46;
while s <= 2700 do begin
s := s + d;
n := n + 4
end;
Write(n)
End.
Ответ 89
6) При каком наибольшем введенном числе d после выполнения программы будет напечатано 46?
var n, s, d: integer;
Begin
readln(d);
n := 8;
s := 78;
while s <= 1200 do begin
s := s + d;
n := n + 2
end;
Write(n)
End.
Ответ 62
7) (О.В. Гасанова) Запишите через запятую наименьшее и наибольшее значение числа d, которое нужно ввести, чтобы после выполнения программы было напечатано 153?
var n, s, d: integer;
Begin
readln(d);
n := 33;
s := 4;
while s <= 1725 do begin
s := s + d;
n := n + 8
end;
Write(n)
End.
Ответ 115,122
8) (О.В. Гасанова) Запишите через запятую наименьшее и наибольшее значение числа d, которое нужно ввести, чтобы после выполнения программы было напечатано 75?
var n, s, d: integer;
Begin
readln(d);
n := 24;
s := 12;
while s <= 3004 do begin
s := s + d;
n := n + 3
end;
Write(n)
End.
Ответ 177,187
9) (О.В. Гасанова) Запишите через запятую наименьшее и наибольшее значение числа d, которое нужно ввести, чтобы после выполнения программы было напечатано 195?
var n, s, d: integer;
Begin
readln(d);
n := 0;
s := 24;
while s <= 1318 do begin
s := s + d;
n := n + 15
end;
Write(n)
End.
Ответ 100,107
10) (О.В. Гасанова) Сколько различных значений числа d можно ввести, чтобы после выполнения программы было напечатано 171?
var n, s, d: integer;
Begin
readln(d);
n := 27;
s := 12;
while s <= 2019 do begin
s := s + d;
n := n + 16
end;
Write(n)
End.
11) (О.В. Гасанова) Сколько различных значений числа d можно ввести, чтобы после выполнения программы было напечатано 246?
var n, s, d: integer;
Begin
readln(d);
n := 8;
s := 6;
while s <= 1800 do begin
s := s + d;
n := n + 7
end;
Write(n)
End.
12) (О.В. Гасанова) Сколько различных значений числа d можно ввести, чтобы после выполнения программы было напечатано 196?
var n, s, d: integer;
Begin
readln(d);
n := 7;
s := 35;
while s <= 2570 do begin
s := s + d;
n := n + 9
end;
Write(n)
End.
13) (О.В. Гасанова) Сколько различных значений числа d можно ввести, чтобы после выполнения программы было напечатано 69?
var n, s, d: integer;
Begin
readln(d);
n := 14;
s := 29;
while s <= 2000 do begin
s := s + d;
n := n + 5
end;
Write(n)
End.
14) (О.В. Гасанова) Запишите через запятую наименьшее и наибольшее значение числа d, которое нужно ввести, чтобы после выполнения программы было напечатано 53?
var n, s, d: integer;
Begin
readln(d);
n := 23;
s := 18;
while s <= 1977 do begin
s := s + d;
n := n + 6
end;
Write(n)
End.
15) (О.В. Гасанова) Запишите через запятую наименьшее и наибольшее значение числа d, которое нужно ввести, чтобы после выполнения программы было напечатано 264?
var n, s, d: integer;
Begin
readln(d);
n := 16;
s := 10;
while s <= 3120 do begin
s := s + d;
n := n + 8
end;
Write(n)
End .
2.Задание 22 2.1
2.2.
2.3.
2.4.
1. 1 Ответ 21
1.2. Ответ 70
1.3. Ответ 280
1.4.Ответ 138
2.1. Ответ 959
2.2 Ответ 60
2.3. Ответ 49
2.4. Ответ 614
Дата добавления: 2020-12-12; просмотров: 317; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!