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

Циклы и условия. - C++

Восстановить пароль Регистрация
 
San4ez
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7
13.12.2011, 04:08     Циклы и условия. #1
Приветствую всех!
Обращаюсь за помощью....
Задача: Найти все целые числа из промежутка от 100 до 300, у которых сумма делителей равна k (k вводится с клавиатуры).
Сам некоторый опыт с с++ имею и даже другу помогаю с задачами, но на этой что-то моя логика сломалась Оо.
Вот собственно мой листинг:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
 
int i,j,c,k,s;
int main ()
{
    cout << "Vvedite k - ";
    cin >> k;
    for (i=100; i<300; i++)
    {s=0;
         for (j=1; j<300; j++)
         {if (i%j==0)
       c=j;
       s=s+j;
       }
       }
    if (s==k)
       cout << i;
       
    system ("pause");
}
Прошу подкорретировать/поправить меня...

Собственно программа ничего не выводит, не могу понять, где-то в циклах видимо ошибка, тока не могу понять где.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2011, 04:08     Циклы и условия.
Посмотрите здесь:

C++ условия
Задача на условия и циклы. C++
C++ условия с++
3 условия C++
операторы условия, циклы с известным и неизвестным числом повторений C++
так и не нашли ошибку, циклы и условия C++
Условия if C++
C++ Условия с++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Roof
 Аватар для Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
13.12.2011, 16:56     Циклы и условия. #2
Немного переделал код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
// для числа 120 ( и многих других ) сумма делителей = 360 ( это и есть k)( 1+2+3+4+5+6+8+10+12+15+20+24+30+40+60+120 )
// для чисел 198 и 250 сумма делителей = 468 ( это и есть k)
int i, j, k, s;
int main() {
    cout << "Vvedite k - ";
    cin >> k;
    for ( i = 100; i <= 300; ++i ) {
        s = 0;
        for ( j = 1; j <= 300; ++j ) {
            if ( !( i % j ) )
                s += j;
        }
        if ( s == k )
            cout << i << endl;
    }
 
    return 0;
}
А вот программа, которая выведет сумму делителей для числа.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main() {
    int value, sum = 0;
 
    cout << "Введите число " << endl;
    cin >> value;
 
    for ( int i = 1; i <= value; ++i )
        if( !( value % i ) )
            sum += i;
 
    cout << "Сумма делителей данного числа = " << sum << endl;
 
    return 0;
}
San4ez
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 7
14.12.2011, 03:45  [ТС]     Циклы и условия. #3
Спасибо !
Yandex
Объявления
14.12.2011, 03:45     Циклы и условия.
Ответ Создать тему
Опции темы

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