Информатика, вопрос задал NatashkaJ , 7 лет назад

Подсчитать сумму и произведение первых N натуральных чисел.С помощью операторов или while,или repeat или for

Ответы на вопрос

Ответил KnowsUser1
0

Ответ:

Язык не указан, предположим что нужен кто то из популярных: Паскаль или Питон.

PascalABC.NET:

#1 (По умному)

begin

 var a := Range(1, ReadInteger('N = '));

 a.Sum.Println;

 a.Aggregate(BigInteger.One, (p, q) -> p*q).Println;

end.

#2 "А нас учили по другому"

begin

 var N := ReadInteger();

 var sum:int64 := 0;

 var prod:BigInteger := 1;  //Для большого N произведение не влезет в int64, по этому юзаем бесконечное целое число BigInteger

 for var i := 1 to N do begin

   sum += i;

   prod *= i;

 end;

 Println(sum, prod);

end.

#3 Вариант на Питоне

summ, prod = 0, 1

for i in range(1, int(input())+1):

   summ += i; prod *= i

print(summ, prod)

Объяснение:

Ответил KnowsUser1
0
без понятия. Это стандартные для PascalABC.NET Целочисленные типы. Можешь спросить у учителя, почему вам дают задание на, грубо говоря, поиск факториала некоего числа, величина которого зависит только от фантазии юзера, и не рассказывают, какие типы могут хранить такие огромные значения
Ответил NatashkaJ
0
Так,а если их изменить на стандартные интэджер и риал?
Ответил KnowsUser1
0
И да, int64 и BigInteger такие же "стандартные" как integer(longint) и real
Новые вопросы