Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int sol[100];
- int min(int a, int b) {
- if (a > b) return b;
- return a;
- }
- int numar(int n) {
- if (n == 1) return 0;
- if (sol[n] != -1) return sol[n];
- int r = 1 + numar(n - 1);
- if (n % 2 == 0)
- r = min(r, 1 + numar(n / 2));
- if (n % 3 == 0)
- r = min(r, 1 + numar(n / 3));
- sol[n] = r;
- return r;
- }
- void main() {
- int n;
- cin >> n;
- for (int i = 0;i <= n;i++)
- sol[i] = -1;
- cout << numar(n);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement