,通过执行上述操作最终是否可以得到1?如果可以得到1,那么最少需要多少次上述操作?

给定正整数n,对n执行任意次下列操作:
1)如果n是2的倍数,用n/2代替n
2)如果n是3的倍数,用2n/3代替n
3)如果n是5的倍数,用4n/5代替n
例如当n=30时,可以根据规则1变为15,或者根据规则2变为20,或者根据规则3变为24。
那么从n开始,通过执行上述操作最终是否可以得到1?如果可以得到1,那么最少需要多少次上述操作?

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include <stdio.h>
int main(void)
{
    int n,i=0;
    scanf("%d",&n);
    while (n!=1)
    {
        if (n%2==0)
            n = n/2;
        else if (n%3==0)
            n = 2*n/3;
        else if (n%5==0)
            n = 4*n/5;
        else {
            printf("n为%d, 不是2/3/5的倍数",n);
            return 0;
        }
        i++;
    }
    printf("%d",i);
    return 0;
}
#include <iostream>
using namespace std;

int main(int argc, char const *argv[])
{
    int count = 0;
    int n;
    cin >> n;
    while (n != 1)
    {
        if (n % 2 == 0)
        {
            n /= 2;
            count++;
        }
        else if (n % 3 == 0)
        {
            n = 2 * n / 3;
            count++;
        }
        else if (n % 5 == 0)
        {
            n = 4 * n / 5;
            count++;
        }
    }
    cout << count;
}