Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Serega_094
2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 80
#1

Совершенные функции - C++

17.06.2013, 18:52. Просмотров 531. Ответов 7
Метки нет (Все метки)

Говорят, что целое число является совершенным числом, если его сомножители, включая 1 (но не само число) в сумме дают это число. Например, 6 – совершенное число, так
как 6=1+2+3. Напишите функцию bool f(int n), которая определяет, является ли ее параметр n совершенным числом. Используйте эту функцию в программе, которая определяет и
печатает все совершенные числа в диапазоне от 1 до 1000.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <iomanip>
#include <conio.h>
 
using namespace std;
bool f(int n);
bool f1(int n);
 
void main (void)
{setlocale(0,"Russian");
int i, c, sum;
cout<<endl<<"Введите число: ";
cin>>c;
sum=0;
int b;
for(i=1;i<c;i++)
 {
     if(c%i==0)
     {
         sum=sum+i;
     }
 }
if(c==sum)
      {
      cout<<endl<<"Число совершенное!";
      }
else
      {
          cout<<endl<<"Число НЕ является совершенным";
      }
 
cout<<endl<<endl <<"Все совершенные чисел от 1 до 1000:"<<endl;
for (i=1; i<1001; i++)
{ b=i;}
f1 (b);
getch();
}
 bool f1(int n) {
     int nachalo=1;
     int konec=1001;
     int summa=0;
     int i;
     for( i=nachalo;i<konec;i++)
 {   n=i;
     if(n%i==0)
     { summa=summa+i;}
     if (n==summa)
     cout<<n<<" ";
  }
return 0 ;
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 18:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Совершенные функции (C++):

Функции. Получить все совершенные числа меньше заданного - C++
Условие в названии темы. Помогите доработать (нужно передать само число &quot;с&quot; в функцию). Код: #include &lt;iostream&gt; using...

Совершенные числа. - C++
По введеному натуральному числу N визначити, чи є воно досконалим. Досконале число дорівнює сумі усіх своїх дільників, включаючи одиницю і...

Совершенные числа - C++
Здравствуйте. Пытаюсь решить следующую задачку: реализовать метод, который получает число n и возвращает все совершенные числа в диапазоне...

Совершенные числа. - C++
подскажите как переделать под С , а не С++ буду признателен #include &lt;iostream.h&gt; #include&lt;conio.h&gt; #include &lt;vcl.h&gt; ...

Совершенные числа - C++
Как из этого кода сделать алгоритм, который находит совершенные числа. #include &lt;iostream&gt; using namespace std; int main() { ...

совершенные числа - C++
Здрасте,помогите организовать программу на Си,которая определяет является ли введённое с клавиатуры число совершенным. и надо расписать...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Thinker
17.06.2013, 18:54
  #2

Не по теме:

была эта задача десятки раз, по форуму порыскайте. наверняка у Croessmah подобный сборник имеется))

Serega_094
2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 80
17.06.2013, 18:57  [ТС] #3
Цитата Сообщение от Thinker Посмотреть сообщение
была эта задача десятки раз
это я щас сам написал, она работает, вот только одно число выводит, почему, объяснения нужны... не стал бы выкладывать((
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.06.2013, 18:59 #4
сумму внутри цикла обнуляйте и все делители нужно пробежать
Croessmah
17.06.2013, 19:01
  #5

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
была эта задача десятки раз, по форуму порыскайте. наверняка у Croessmah подобный сборник имеется))
нет, нету такого сборника я ж только самые надоедливые скапливаю

Serega_094
2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 80
17.06.2013, 19:02  [ТС] #6
Цитата Сообщение от Thinker Посмотреть сообщение
все делители нужно пробежать
цикл в цикле?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.06.2013, 19:07 #7
Serega_094, либо цикл в цикле, либо вызывать функцию.
Serega_094
2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 80
17.06.2013, 19:26  [ТС] #8
пытаюсь с циклом в цикле разобраться...с функциями только седня разобрался, пару простеньких прог написал, тут зациклился

Добавлено через 2 минуты
Цитата Сообщение от Croessmah Посмотреть сообщение
была эта задача десятки раз
подскажи куда че добавить, пожалуйста...

Добавлено через 14 минут
нашел ошибку, выводит все:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <iomanip>
#include <conio.h>
 
using namespace std;
bool f(int n);
bool f1(int n);
 
void main (void)
{setlocale(0,"Russian");
int i, c, sum;
cout<<endl<<"Введите число: ";
cin>>c;
sum=0;
int b;
for(i=1;i<c;i++)
 {
     if(c%i==0)
     {
         sum=sum+i;
     }
 }
if(c==sum)
      {
      cout<<endl<<"Число совершенное!";
      }
else
      {
          cout<<endl<<"Число НЕ является совершенным";
      }
 
cout<<endl<<endl <<"Все совершенные чисел от 1 до 1000:"<<endl;
for (i=1; i<1001; i++)
{ b=i;}
f1 (b);
getch();
}
 bool f1(int n) {
     int nachalo=1;
     int konec=1001;
     int summa=0;
     int i;
    
     for( i=nachalo;i<konec;i++)
 {   n=i;
     summa = 0;
     for (int k=1; k<n; k++)
             if (i%k==0){
             summa=summa+k;}
     
if (n==summa)
    cout<<n<<" "; 
     }
     
return 0 ;
 }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2013, 19:26
Привет! Вот еще темы с ответами:

Совершенные числа - C++
Натуральное число называется совершенным, если оно равно сумме всех своих делителей, кроме себя самого. Число 6 является совершенным, так...

Совершенные числа - C++
Вводится число n, требуется вывести совершенные числа до n. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; void...

Совершенные числа - C++
В интервале от a до b напечатать совершенные числа. Совершенное число, равно сумме всех своих делителей, например 28=1+2+4+7+14

Рекурсия, совершенные числа - C++
Добрый вечер. Столкнулся с проблемой написания рекурсивной функции для определения, совершенное число или нет. Попробовал сделать так,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.06.2013, 19:26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru