Нозадзе_Новиков392
?>

Дано натуральное число .необходимо проверить является ли число совершенным язык c#

Информатика

Ответы

kosbart28
Using System;
namespace ConsoleApplication2
{   
class Program   
 {       
 static void Main(string[] args)     
  {
            Console.Write("введите число: ");          
int value = int.Parse(Console.ReadLine());
int sum = 0;  
for(int i = 1; i < value; i++)
if (value % i == 0) sum += i;
 if (value == sum) Console.WriteLine("Число совершенное");
else Console.WriteLine("Число не совершенное");
 Console.ReadLine();       
 }   
}
}
Александрович_Викторовна

Формула Бине:

Fn = \frac{(\frac{1 + \sqrt{5}}{2})^{n} - (\frac{1 - \sqrt{5}}{2})^{n}}{\sqrt{5}}

При работе с типом double имеет место быть некоторая погрешность. При больших числах относительная погрешность стремится к 0.

Код:

#include <iostream>#include <cmath>#define sqrt5 sqrt(5)#define   (1 + sqrt5)/2#define n (1 - sqrt5)/2long long fibBinet(int n) {    return (long long) round((pow(, n) - pow(n, n)) / sqrt5);}int main() {    long long binet77 = fibBinet(77);    std::cout << "fibBinet(77) = " << binet77 << " (5527939700884757)" << std::endl;    std::cout << "A = " << abs(5527939700884757ll - binet77) << std::endl;    std::cout << "B = " << 5527939700884757ll / binet77 << std::endl;    return 0;}
Напишите функцию fibBinet(n), которая будет вычислять Fn по формуле Бине, согласно которой Fn равно
Напишите функцию fibBinet(n), которая будет вычислять Fn по формуле Бине, согласно которой Fn равно
kotsur

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

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)

Объяснение:

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

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

Дано натуральное число .необходимо проверить является ли число совершенным язык c#
Ваше имя (никнейм)*
Email*
Комментарий*

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

Oksana-Kirakosyan1301
byfetvostochniy
ПетровичЖивотовская1245
vallzh8328
Татьяна902
Liliya-buc
ngz55
notka19746
Акимцева27
sn009
pbttehnology
betepah
соловьев_Куркина
sohrokova809
ganzashop