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

Через циклы найти делители введённого пользователем положительного числа - C++

Восстановить пароль Регистрация
 
Золушка_я
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
26.06.2016, 23:49     Через циклы найти делители введённого пользователем положительного числа #1
1. Написать программу, в которой пользователь вводит положительное число. Нужно получить и вывести на экран:
• Все его делители;
• Сумму его делителей;
• Сумму его четных делителей;
• Количество его делителей;
• Количество его нечетных делителей;
• Количество его делителей больших N(N вводит пользователь)

Ребята. Очень нужна Ваша помощь или совет. Вообще не пойму с чего начать. Я начала учить циклы while, do while, for но пока не пойму с чего и начать. Очень буду признательна за помощь и заранее всем спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2016, 23:49     Через циклы найти делители введённого пользователем положительного числа
Посмотрите здесь:

C++ Найти все делители числа P
Вывести на экран через запятую все делители натурал. числа N, кратные 2 C++
Найти сумму квадратов цифр введённого числа C++
C++ Найти все делители целого положительного числа
Найти номер наименьшего положительного числа в заданной последовательности. Если в ней отсутствуют положительные числа, ответом должно быть -1 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5944 / 5549 / 1783
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
27.06.2016, 07:42     Через циклы найти делители введённого пользователем положительного числа #2
Начните с того, что посмотрите ссылки внизу страницы
lawr
 Аватар для lawr
344 / 238 / 116
Регистрация: 09.05.2014
Сообщений: 732
27.06.2016, 12:01     Через циклы найти делители введённого пользователем положительного числа #3
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
#include <iostream>
using namespace std;
int main(){
    setlocale(0, "rus");
    int num;
    cout << "введите число: ";
    cin >> num;
    cout << "делители введенного числа: ";
    for (int i = 1; i <= num / 2; i++)
        if (num%i == 0)
            cout << i << ' ';
    cout << endl;
    int div_sum = 0;
    for (int i = 1; i <= num / 2; i++)
        if (num%i == 0)
            div_sum += i;
    cout << "сумма делителей числа= " << div_sum << endl;
    int even_div_sum = 0;
    for (int i = 2; i <= num / 2; i+=2)
        if (num%i == 0)
            even_div_sum += i;
    cout << "сумма четных делителей числа= " << even_div_sum << endl;
    int div_q = 0;
    for (int i = 1; i <= num / 2; i++)
        if (num%i == 0)
            div_q++;
    cout << "количество делителей числа= " << div_q << endl;
    int odd_div_q = 0;
    for (int i = 1; i <= num / 2; i+=2)
        if (num%i == 0)
            odd_div_q++;
    cout << "количество нечетных делителей числа= " << odd_div_q << endl;
    int N;
    cout << "введите число N: ";
    cin >> N;
    int more_N_div_q = 0;
    for (int i = N + 1; i <= num / 2; i++)
        if (num%i == 0)
            more_N_div_q++;
    cout << "количество делителей числа, больших N= " << more_N_div_q << endl;
    system("pause");
    return 0;
}
Золушка_я
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
27.06.2016, 14:33  [ТС]     Через циклы найти делители введённого пользователем положительного числа #4
lawr. Спасибо Вам большое пребольшое. А то я тут делала делала, сейчас напишу, но у Вас более читабельно. Супер!)))
А вот мои начинания, пыталась не сидеть без дела. Вижу, я правильно мыслила, но после нахождения делителя и sum тяжело дело шло.
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
#include <iostream>
using namespace std;
void main()
{
    setlocale(LC_ALL, "rus");
    int n;
    cout << "Введите n: ";
    cin >> n;
 
    int k = 1;
 
    for (int i = 1; i <= n; i++)
        if (n%i == 0)
            cout << k++ << ": " << i << endl;
}
 
#include <iostream>
using namespace std;
void main()
{
    setlocale(LC_ALL, "rus");
    int num, half, div;
    cout << "Введите число: \n";
    cin >> num;
 
    for (half = num / 2, div = 2; div <= half; div++)
        if (!(num % div))
            cout << div << endl;
}
 
#include <iostream>
using namespace std;
void main()
{
    setlocale(LC_ALL, "rus");
    int n, summ = 0;
    cout << "Введите n: ";
    cin >> n;
 
    int k = 1;
 
    for (int i = 1; i <= n; i++)
    {
        summ = summ + i;
        cout << summ << ": " << i << endl;
    }
}
Yandex
Объявления
27.06.2016, 14:33     Через циклы найти делители введённого пользователем положительного числа
Ответ Создать тему
Опции темы

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