Advertisement
nikunjsoni

650

Jun 11th, 2021
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int minSteps(int n) {
  4.         int ans = 0, div=2;
  5.         while(n>1){
  6.             while(n%div == 0){
  7.                 ans += div;
  8.                 n  /= div;
  9.             }
  10.             div++;
  11.         }
  12.         return ans;
  13.     }
  14. };
  15.  
  16. -----------------------
  17. class Solution {
  18. public:
  19.     int minSteps(int n) {
  20.         int dp[n+1];
  21.         dp[1] = 0;
  22.        
  23.         for(int i=2; i<=n; i++){
  24.             dp[i] = i;
  25.             for(int j=i/2; j>1; j--)
  26.                 if(i%j == 0)
  27.                     dp[i] = min(dp[i], dp[j] + (i/j));
  28.         }
  29.         return dp[n];
  30.     }
  31. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement