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

Пожалуйста, найдите ошибку) - C++

Восстановить пароль Регистрация
 
Vikusha
0 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 3
05.06.2013, 16:37     Пожалуйста, найдите ошибку) #1
вот такая задачка.
Вывести на экран первые пять совершенных чисел (функция возвращает 1, если число совершенное, 0 – в противном случаем).
проблема в том,что пятое число не выводится на экран))ошибку сама найти не могу)) заранее спасибо)
вот такой код у меня получился:
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
#include <iostream>
using namespace std;
 
 long int sov(long int n) 
{
   long int c=0, b;
    for (int i = 1; i<=n/2; i++)
    {
    if (n%i == 0)
        c = c + i;}
    if (c==n)
        {c=1;}
    else
    {c=0;}
    
  return c;
}
 
int main()
{   long int c;
    int n,k=1;
    setlocale(LC_CTYPE, "Russian");
    cout<<"Первые пять совершенных чисел.\n";
    for (int c = 2; (c<34000000)&& (k<=5) ; c++){
    n=sov(c);
    if (n==1){
    cout<<c<<"\n";
    k++;}}}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 16:37     Пожалуйста, найдите ошибку)
Посмотрите здесь:

Найдите пожалуйста ошибку C++
C++ Пожалуйста найдите ошибку
C++ Найдите ошибку пожалуйста...
найдите пожалуйста ошибку C++
C++ Найдите ошибку, пожалуйста
C++ Пожалуйста найдите ошибку
C++ Найдите ошибку пожалуйста
C++ найдите ошибку пожалуйста

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
05.06.2013, 16:51     Пожалуйста, найдите ошибку) #2
Vikusha, не может твоя функция найти 5-е, поэтому в цикле идёт до самого конца=)

Добавлено через 3 минуты
Цитата Сообщение от drdrink Посмотреть сообщение
Vikusha, не может твоя функция найти 5-е, поэтому в цикле идёт до самого конца=)
точней оно найдёт но практически в самом конце цикла потому что:

первый 5 совершенных чисел - 6, 28, 496, 8128, 33550336
Yandex
Объявления
05.06.2013, 16:51     Пожалуйста, найдите ошибку)
Ответ Создать тему
Опции темы

Текущее время: 17:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru