вот код:
Sub ppp()
Cells.ClearContents 'очистим ячейки
Cells(1, 1) = 1 ' начально значение произведения
kk = 1 ' число ячеек занятых под результат
For ii = 2 To 300 Step 2 ' цикл умножения на четные числа по 300
perenos = 0
For nn = kk To 1 Step -1
Cells(nn, 1) = Cells(nn, 1) * ii + perenos ' тут умножаем каждую клетку на очередной множитель и складвыаем с переносом из предудщей
perenos = (Cells(nn, 1) - (Cells(nn, 1) Mod 1000000)) / 1000000
Cells(nn, 1) = Cells(nn, 1) Mod 1000000
Next nn
If perenos > 0 Then ' если возник перенос в старшем разряде сдвигаем все ячейки вниз и вставляем ячейку со значением переноса
For nn = kk + 1 To 2 Step -1
Cells(nn, 1) = Cells(nn - 1, 1)
Next nn
Cells(1, 1) = perenos
kk = kk + 1
End If
Next ii
End Sub
вот полученный результат:
81
544140
693805
943455
614969
189432
362136
551223
844617
222210
901524
242971
226177
70576
442833
181201
189972
905880
547639
252042
151746
219057
746287
924346
744582
832817
638116
193704
261939
70049
82799
607483
43802
605563
1224
773509
533899
818381
358134
309684
912674
310209
954493
291264
242855
444480
0
0
0
0
0
0
Нули в нижних ячейках нужно интерпретировать как 6 нулей
если просуммировать в excel десятичные логарифмы от 2 до 300 с шагом 2 и 10 то получим:
307,9113928
т. е. примерно 308 цифр должно быть в нашем произведении
что согласуется с ответом)))
Другие языки программирования и технологии
найти произведение всех четных чисел от 1 до 300. нужен код функции в vba
Не сможете! По крайней мере, с текущим уровнем знаний ;-)
Это вот такое число:
3238703832 9782077887 3407895552 6652162842 2095679743 5978218811 3664121444 7955208134 1233349514 7327805008 9940650570 2329869173 4013374685 2804566584 8511034822 1953014192 8621897383 2756194717 4732442076 7426122143 4883975559 2664430955 1780094842 7830016089 4988876512 0519550681 8507540143 9716677045 2541933420 3637713702 7726229403 9721513831 9887494120 2645041910 0335074098 1710582206 5360280098 8371664130 6592300599 2944535275 2049751340 7189596667 0410075529 6815903611 2600166301 4077061216 2746310749 2217180140 9068110923 1051513148 6342957964 8895323409 8710305543 2678113280 0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 00
Это вот такое число:
3238703832 9782077887 3407895552 6652162842 2095679743 5978218811 3664121444 7955208134 1233349514 7327805008 9940650570 2329869173 4013374685 2804566584 8511034822 1953014192 8621897383 2756194717 4732442076 7426122143 4883975559 2664430955 1780094842 7830016089 4988876512 0519550681 8507540143 9716677045 2541933420 3637713702 7726229403 9721513831 9887494120 2645041910 0335074098 1710582206 5360280098 8371664130 6592300599 2944535275 2049751340 7189596667 0410075529 6815903611 2600166301 4077061216 2746310749 2217180140 9068110923 1051513148 6342957964 8895323409 8710305543 2678113280 0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 00
Похожие вопросы
- Помогите решить задачу на языке Паскаль. Найти сумму всех чётных чисел от 1 до 1000 (задачу решить 2 способами)
- все четные числа от 1 до 1000
- Найти сумму квадратов всех чисел от 1 до n .
- Вводится последовательность чисел. Посчитать в ней количество четных чисел, стоящих на четных местах.
- Создание функции в VBA
- Дано натуральное число n. Найти и вывести все числа в интервале от 1 до n -1, у которых произведение всех цифр совпадает
- Помогите решить на ПАСКАЛЕ!Увеличить четные числа массива размера N,на исходное значение первого четного числа.
- как сделать массив из случайных чисел от 1 до 15 (размерность массива 4х4) что бы они не повторялись в VBA????
- Найдите наибольшее четырехзначное число, которое при делении на любое однозначное число, кроме 1,2и3, дает в остатке 3
- НА C# НАПИСАТЬ КОД Найти сумму целых отрицательных чисел, кратных 5 и принадлежащих интервалу [-20; 20].