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

Простой Цифровой Корень - C++

Восстановить пароль Регистрация
 
Aerarian
1 / 1 / 0
Регистрация: 28.06.2016
Сообщений: 78
18.07.2016, 11:19     Простой Цифровой Корень #1
Привет родные форумчане! Пожалуйста помогите решить буду особенно благодарен если напишите код с комментариями что как работает, заранее спасибо ребят!

Простой цифровой корень натурального числа N ПЦНК(N) определяется следующим образом: если N - простое число, то ПЦНК(N)=N, если N = 1, 4, 6, 8 или 9 (т.е. однозначное и непростое), то ПЦНК(N)=0. В остальных случаях ПЦНК(N)=ПЦНК(S(N)), где S(N) - сумма цифр числа N. По заданному N надо найти ПЦНК(N).
Требования:
Напишите функцию для определения простоты числа
Напишите функцию для определения суммы цифр числа
Напишите функцию для нахождения ПЦНК

Вход
1
3
128

Выход
0
3
11
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2016, 11:19     Простой Цифровой Корень
Посмотрите здесь:

Составить рекурсивную функцию, которая находит цифровой корень целого числа C++
C++ Реализовать программу, которая для заданного N (N<10100) находит его цифровой корень
Напечатать все числа интервала [100,200], цифровой корень которых кратный (3,6,9) C++
C++ Цифровой корень числа
Составить рекурсивную функцию, которая находит цифровой корень целого числа C++
C++ Найти корень многочлена методом простой итерации
Найдите все числа из интервала (100, 200), цифровой корень которых является простым числом (1, 2, 3, 5, 7) C++
Найти цифровой корень натурального числа (рекурсия) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
regio1961
 Аватар для regio1961
89 / 89 / 42
Регистрация: 06.06.2016
Сообщений: 214
18.07.2016, 23:17     Простой Цифровой Корень #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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
#include <iostream>
 #include <cmath>
 //-------------------------------------------------------------------
 // Функция для определения простоты числа
 //-------------------------------------------------------------------
 bool is_prime( const unsigned long &n )
 {
   const double sqrt_n = sqrt( n );
       for( unsigned d = 2; d <= sqrt_n; ++d )
       {
             if ( !(n % d) )
             return false;
       }
   return ( n != 1 );
 }
 //-------------------------------------------------------------------
 // Функция для определения суммы цифр числа
 //-------------------------------------------------------------------
 unsigned  sum_ciphers( unsigned long n )
 {
   unsigned sum = 0;
       while( n )
       {
         sum += n % 10;
         n   /= 10;
       }
   return sum;
 }
 //-------------------------------------------------------------------
 // Функция для нахождения ПЦНК
 //-------------------------------------------------------------------
 unsigned  root_ciphers( const unsigned long &n )
 {
       if ( is_prime( n ) )
         return n;
       if ( n < 10 )
         return 0;
   return sum_ciphers( n );
 }
 //-------------------------------------------------------------------
 int main()
 {
   unsigned  n = 0;
   std::cout << "Input number ";
   std::cin >> n;
   std::cout << "\n" << root_ciphers( n ) << "\n";
   std::cin.get();
   return 0;
 }
Aerarian
1 / 1 / 0
Регистрация: 28.06.2016
Сообщений: 78
19.07.2016, 11:41  [ТС]     Простой Цифровой Корень #3
regio1961, СПАСИБО!!!
Yandex
Объявления
19.07.2016, 11:41     Простой Цифровой Корень
Ответ Создать тему
Опции темы

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