Решение задачи "Достижимые числа" с Codeforces

Без пояснения   Просмотров: 13


Давайте объявим функцию f(x) следующим образом: добавим 1 к x, затем, пока у результата последняя цифра является нулем, будем удалять этот ноль. Например,

f(599)=6: 599+1=600→60→6;
f(7)=8: 7+1=8;
f(9)=1: 9+1=10→1;
f(10099)=101: 10099+1=10100→1010→101.
Назовем число y достижимым из числа x, если мы можем применить функцию f к x несколько (возможно, ноль) раз, и в результате мы получим y. Например, число 102 достижимо из числа 10098: f(f(f(10098)))=f(f(10099))=f(101)=102; и любое число является достижимым из самого себя.

Вам дано число n; посчитайте количество различных чисел, достижимых из n.

Код

#include<bits/stdc++.h>
using namespace std;
int vis[10];
int main()
{
	int n;
	cin>>n;
	int ans=9;
	while(n>=10){
		n+=1;
		while(n%10==0){
			n/=10;
		}
		ans++;
	}
	cout<<ans<<endl;
 } 
 

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться