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

Совершенные числа(косяк) - C++

Восстановить пароль Регистрация
 
EMBY
Заблокирован
07.10.2012, 11:33     Совершенные числа(косяк) #1
Добрый день!
Возникла проблема с вывод совершенных чисел в интервале от m до n. Почему-то вообще не выводит, хотя проверял похожий алгоритм на паскале, все ок. Здесь почему-то не выходит, можете помочь? Буду благодарен.
C++ (Qt)
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
#include "stdafx.h"
#include <stdio.h>
#include <clocale>
#include <math.h>
 
 
int _tmain(int argc, _TCHAR* argv[])
{  
 setlocale(LC_ALL,"RUSSIAN");
 setlocale(LC_ALL,"rus");
 
 
 
 long c,m,i,n,del,sum=0;
 printf("Программа для вывод всех совершенных чисел от M до N включитально\n");
 
//Начальная инициализация
 printf("Введите 2 любых числа 1<=m<=n\n");
 
  scanf("%d", &m);
  scanf("%d", &n);
//Решение
  sum=1;
 for(i=m; i<=n;i++)   
     {  for (del=1;del<=ceil(sqrt((float)i+1));del++)
       
       {  
        if(i%del==0)
         {sum=sum+del;
          }
       }
          
          if(i==sum)
          {
          printf("%d\n",i);
          }}
          
          
 
 getchar();
 getchar();
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 11:33     Совершенные числа(косяк)
Посмотрите здесь:

C++ совершенные числа
C++ совершенные числа С++
C++ Совершенные числа.
C++ Совершенные числа.
Совершенные числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
07.10.2012, 11:52     Совершенные числа(косяк) #2
была такая тема.Посмотри здесь или воспользуйся поиском
совершенные числа С++
EMBY
Заблокирован
07.10.2012, 11:56  [ТС]     Совершенные числа(косяк) #3
David Sylva, да нет, мне надо, чтобы кто-то помог найти косяк. Я по форуму искал, в том то и дело, что я ошибки не вижу, но программа все равно нифига не работает.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
07.10.2012, 12:06     Совершенные числа(косяк) #4
Цикл заменить:
C++
1
2
3
4
5
6
7
8
9
10
11
for(i=m; i<=n;i++)     
  {
   sum=0;
   for (del=1; del!=i; del++)
   {  
    if(i%del==0)
     sum=sum+del;  
   }
   if(i==sum)
     printf("%d\n",i);
  }
EMBY
Заблокирован
07.10.2012, 12:09  [ТС]     Совершенные числа(косяк) #5
BumerangSP, спасибо, сейчас попробую
SpamBot
 Аватар для SpamBot
13 / 13 / 0
Регистрация: 04.10.2012
Сообщений: 29
07.10.2012, 12:18     Совершенные числа(косяк) #6
Сумме заново единицу присваивай после каждой итерации цикла
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2012, 12:19     Совершенные числа(косяк)
Еще ссылки по теме:

Совершенные числа C++
C++ Совершенные числа

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

Или воспользуйтесь поиском по форуму:
EMBY
Заблокирован
07.10.2012, 12:19  [ТС]     Совершенные числа(косяк) #7
BumerangSP, Огромное спасибо! Помогло.
Yandex
Объявления
07.10.2012, 12:19     Совершенные числа(косяк)
Ответ Создать тему
Опции темы

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