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

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

Войти
Регистрация
Восстановить пароль
 
Rakot568
15 / 15 / 1
Регистрация: 11.04.2013
Сообщений: 171
#1

Цифровой корень числа - C++

13.11.2013, 20:15. Просмотров 638. Ответов 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
#include <stdio.h>
#include <conio.h>
 
void main()
{
  int n,s;
  clrscr();
  printf("Введите натуральное число n: ");
  scanf("%d", &n);
  s=0;
  do
    {
      s=(s+n)%10;
      n=n/10;
      if ((s/10)!=0 && n==0);
    {
      n=s;
      s=0;
    }
    }
  while (n=0);
  printf("Цифровой корень = %d\n", s);
  getch();
}
Сумма всегда 0. Что изменить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2013, 20:15     Цифровой корень числа
Посмотрите здесь:

Составить рекурсивную функцию, которая находит цифровой корень целого числа C++
C++ Реализовать программу, которая для заданного N (N<10100) находит его цифровой корень
Напечатать все числа интервала [100,200], цифровой корень которых кратный (3,6,9) C++
Для каждого числа найти корень квадратный, если дробная часть меньше 5, в противном случае найти квадрат данного числа C++
Определить количество цифр с наименьшим значением в цифровой записи данного числа C++
Составить рекурсивную функцию, которая находит цифровой корень целого числа C++
Вставить после числа, являющегося полным квадратом, квадратный корень этого числа C++
Определить количество цифр в цифровой записи данного числа, которые имеют наименьшее значение C++
Найти цифровой корень натурального числа (рекурсия) C++
C++ Простой Цифровой Корень
C++ Определить количество чисел, у которых сумма цифр в цифровой записи числа больше чем К

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4879 / 3015 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
13.11.2013, 20:18     Цифровой корень числа #2
Точку с запятой в 15-й строке убери.
В 21-й, видимо: !=
Rakot568
15 / 15 / 1
Регистрация: 11.04.2013
Сообщений: 171
13.11.2013, 20:26  [ТС]     Цифровой корень числа #3
castaway, отлично, но... неправильно.

Добавлено через 6 минут
Нет, ввожу, например 1988 - должно быть 8, а выдает 6.
Байт
Эксперт C
15551 / 9893 / 1487
Регистрация: 24.12.2010
Сообщений: 18,506
13.11.2013, 21:06     Цифровой корень числа #4
Rakot568, Твой цикл do..while работает ровно 1 раз. n=0 - это присвоение, его результат всегда 0, т.е. false.
Сравнение это "=="
Остального даже смотреть не стал. Если есть такая грубая "детская" ошибка, тобой не замеченная, навярняка есть и другие.
Yandex
Объявления
13.11.2013, 21:06     Цифровой корень числа
Ответ Создать тему
Опции темы

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