rnimsk149
?>

Не могли бы вы мне с информатикой нужно написать код созданный в программе "vba" : последовательно вводятся числа до тех пор, пока во введенной совокупности не окажется три нуля. вывести количество введенных чисел

Информатика

Ответы

Galiaahmatova4447

Sub Prime()

   Dim k As Integer, x As Double

   k = 0

   Do

       x = CDbl(InputBox("Введи число, ноль завершит работу"))

       If x = 0 Then Exit Do

       k = k + 1

   Loop

   MsgBox "Введено чисел: " & CStr(k)

End Sub

semenoffufc8
1) Допустим, бумагу мы сложим в бак 3. Это будет 83 + 58 = 141.
Тогда в бак 2 надо сложить стекло или жесть.

1) а) Допустим, мы в бак 2 сложили стекло. Это будет 52 + 85 = 137.
Тогда в бак 1 кладем жесть. Это будет 95 + 75 = 170.
Всего 141 + 137 + 170 = 448 перемещений.

1) б) Допустим, мы в бак 2 сложили жесть. Это будет 64 + 75 = 139.
Тогда в бак 1 кладем стекло. Это будет 98 + 85 = 183.
Всего 141 + 139 + 183 = 463 > 448.

2) Допустим, бумагу мы сложили в бак 2. Это опять 83 + 58 = 141.
2) а) Кладем в бак 3 стекло. Это будет 98 + 52 = 150.
Тогда в бак 1 кладем жесть. Это будет 95 + 75 = 170.
Всего 141 + 150 + 170 = 461 > 448.

2) б) Кладем стекло в бак 1. Это будет 98 + 85 = 183.
Тогда в бак 3 кладем жесть. 64 + 95 = 159
Всего 141 + 183 + 159 = 483 > 448.

3) Положим бумагу в бак 1. Это будет 83 + 83 = 166.
3) а) Положим стекло в бак 2. Это будет 52 + 85 = 137.
Тогда жесть пойдет в бак 3. 64 + 95 = 159.
Всего 166 + 137 + 159 = 465 > 448.

3) б) Положим стекло в бак 3. Это будет 52 + 98 = 150.
Тогда жесть пойдет в бак 2. Это будет 64 + 75 = 139.
Всего 166 + 150 + 139 = 455 > 448.

Я рассмотрел все 6 вариантов разложить 3 мусора по 3 бакам.
ответ: минимальное количество перемещений равно 448.
Сергеевич1386
// PascalABC.NET 3.1, сборка 1179 от 29.02.2016
procedure GetProdNeg(a:array of integer; var p:real);
// произведение отрицательных элементов
begin
  p:=a.Where(x->x<0).Aggregate(1.0,(p,e)->p*e)
end;

function IsPrime(n:integer):boolean:=
  Range(2,Round(sqrt(n))).All(i->n mod i<>0);

procedure ArrPrime(n:integer; var a:array of integer);
// массив простых чисел не больших n
begin
  a:=Range(2,n).Where(i->IsPrime(i)).ToArray
end;

begin
  var n:=ReadInteger('n=');
  var a:=ArrRandom(n,-50,50); a.Println;
  var r:real;
  GetProdNeg(a,r);
  Writeln('Произведение ',r);
  n:=ReadInteger('n=');
  var b:array of integer;
  ArrPrime(n,b);
  b.Println
end.

Тестовое решение:
n= 15
27 -7 -36 40 -15 -21 -47 -28 -12 45 3 -38 -15 1 -39
Произведение 27866837980800
n= 300
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293

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

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

Не могли бы вы мне с информатикой нужно написать код созданный в программе "vba" : последовательно вводятся числа до тех пор, пока во введенной совокупности не окажется три нуля. вывести количество введенных чисел
Ваше имя (никнейм)*
Email*
Комментарий*

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

Тихонова
Zimin1111
voloshin238
salahovta
ЕВгений_денис643
smint056950
ЮлияНиколаевна1748
sergeyshuvalov
morozova4956
ayanrsadykov
femida69
Дубровская571
BogdanR106203
соловьев_Куркина
mishanay301csfp