56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
1

От данного числа N вычтем сумму цифр этого числа, от полученного числа опять вычтем сумму цифр и т.д. до тех пор, пока число положительно

17.03.2012, 11:46. Показов 6835. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И опять: сколько можно?

Задано натуральное число N. От данного числа вычтем сумму цифр этого числа, от полученного числа опять вычтем сумму цифр и т.д. Данную операцию будем продолжать до тех пор, пока полученное число положительно. Сколько раз будем выполнять данную операцию?

Технические условия

Входные данные

Во входной строке находится число N, которое не превышает 2147483647.

Выходные данные

Количество выполненных операций.

Информация о задаче
Лимит времени: 1 секунда

Пример:
Ввод: 23
Вывод: 3

Ввод: 100
Вывод: 11

Вот решение, но выполняется медленно, как ускорить процесс?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
long n,t,c;
cin >> n;
c=0;
while (n>0)
{
    t=n;
    while (t>0)
    {
        n=n-(t%10);
        t=t/10;
    }
    c++;
    
}
cout << c;
}
Только если даёте подсказки, давайте их не на C#, а на C++.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2012, 11:46
Ответы с готовыми решениями:

Дано число. Из данного числа нашли сумму цифр. С образованного числа вновь обрели сумму цифр, и.т.д. пока не образовалась одна цифра. Для данного числ
Дано число. Из данного числа нашли сумму цифр. С образованного числа вновь обрели сумму цифр,...

Превратить число сложением цифр этого числа до тех пор, пока число не станет однозначным
Срочно нужно решить. Выручайте)

От данного числа вычесть сумму цифр этого числа
Задано натуральное число Н. От данного числа вычтем сумму цифр этого числа, от полученного числа...

Ввести число, вывести на экран количество разрядов этого числа и сумму цифр этого числа.
Нужно создать программу для того, чтобы работала по схеме: ввести число, вывести на экран...

3
600 / 568 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
17.03.2012, 12:20 2
мб рекурсивно?
0
Эксперт JavaЭксперт С++
8381 / 3613 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
17.03.2012, 12:28 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int getSum(int number) {
    int sum = 0;
    while (number) {
        sum += number % 10;
        number /= 10;
    }
    return sum;
}
int main() {
    int number = 2147483640;
    int count = 1;
 
    while ((number -= getSum(number)) > 0)
        ++count;
    std::cout << count;
    return 0;
}
0
56 / 28 / 18
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
17.03.2012, 21:51  [ТС] 4
Это еще хуже...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2012, 21:51
Помогаю со студенческими работами здесь

Дано натуральное число n. Необходимо найти сумму тех цифр этого числа, которые больше 5
B. Сумма «больших» цифр Дано натуральное число n. Необходимо найти сумму тех цифр этого...

Найти сумму цифр заданного четырёхзначного числа N превосходит произведение цифр этого же числа на 1
Помогите решить срочно, буду очень признателен: 1.сумма цифр заданного четырёхзначного числа N...

Найти сумму цифр заданного четырехзначного числа N превосходит произведение цифр этого же числа
нужна программа которая проверяет следующий факт: Сумма цифр заданного четырехзначного числа N...

Запрашивать числа до тех пор, пока не будет введено первое число кратное 7, и вычислить сумму введенных чисел
Помогите решить Циклы с постусловием: Составьте программу которая будет запрашивать числа до тех...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru