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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.81
Lizardomsk
0 / 0 / 0
Регистрация: 20.02.2012
Сообщений: 22
#1

Найти количество делителей натурального числа. Сколько из них четных - C++

02.03.2012, 16:42. Просмотров 5645. Ответов 1
Метки нет (Все метки)

Найти количество делителей натурального числа. Сколько из них четных через С++ если не скложно коментарии к строкам
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2012, 16:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти количество делителей натурального числа. Сколько из них четных (C++):

Помогите разобраться: Найти количество четных делителей натурального числа. - C++
Здравствуйте, уважаемые пользователи. Нехватка времени вынуждает меня прибегнуть к помощи умных людей. Не могли бы вы помочь мне...

Найти сумму четных делителей натурального числа - C++
пишу вот так , но не пойму до конца логику расчетов...объясните что забыл? #include <iostream> #include <cmath> #include...

Найти количество положительных делителей натурального числа n - C++
Задано натуральное число n. Нужно вывести одно число - количество положительных делителей числа n.

Найти количество делителей натурального числа, больших K - C++
Помогите пожалуйста надо написать программу которая: Найти количество делителей натурального числа, больших К (К вводится).

Найти количество делителей натурального числа N. больших К - C++
Найти количество делителей натурального числа N больших К. в с++

Найти количество нечетных делителей натурального числа, больших К - C++
Прошу помочь с 3-мя задачками очень нужно сдать а сделать никак не могу. 2) Найти количество нечетных делителей натурального числа,...

1
SkyDream
32 / 26 / 2
Регистрация: 01.03.2012
Сообщений: 98
02.03.2012, 17:42 #2
Самый простой способ (без оптимизации):
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
#include <tchar.h>
#include <stdio.h>
#include <iostream>
using namespace std;
 
int main()
{
  int k, i, N; // k - кол-во делителей заданного числа; i - счетчик цикла; N - само заданное число.
  int even; // кол-во четных делителей
  cin >> N; // вводить надо натуральное число (от 1).
  
  k = 0;
  even = 0;
  for(i=1; i<=N; i++)
  {
    if(N%i == 0) // если остаток от деления = 0, это значит, что число i - делитель
    {
      k++;  
      if(i%2 == 0)
        even++;
    }
  }
 
  cout << "Делителей натурального числа " << N << " - " << k << "; Из них четных - " << even << endl;
  system("pause");
  return 0;
}
ЗЫ алгоритм можно сильно оптимизировать, т.к. для любое натуральное число > 1 имеет 2 делителя (1 и само число).
Соответственно единица нечетная, а само число надо проверить N%2 должно быть = 0.
Т.е. цикл можно делать от 2 до N-1.
ЗЫЫ можно еще оптимизировать алгоритм: после нахождения делителя можно делить N на получившееся число, это будет еще один делитель.
(пример: число 57, один из делителей - 3, теперь делим 57 на 3 и получаем еще один делитель, равный 19).
Ну в принципе, способов оптимизации может быть еще много, это для примера.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2012, 17:42
Привет! Вот еще темы с ответами:

Длинная арифметика. Найти количество делителей n-значного натурального числа (n > 20) - C++
Найти количество делителей n-значного натурального числа (n &gt; 20). Помогите с задачей пожалуйста.

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

Найти количество четных цифр заданного натурального числа - C++
Привет, всем))помогите пожалуйста написать код для задачи: найти количество четных цифр заданного натурального числа. вот мой код,но он...

Найти количество четных цифр заданного натурального числа - C++
Дано натуральное число: найти количество четных цифр этого числа; верно ли, что данная цифра А встречается в числе более двух раз...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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