C语言问题求解,用函数问题四:编程求出:任意n!的尾数有多少个零?5.问题五:整数N的尾数是9,把尾数9移到其前面(成为最高位)后所得的数为原整数N的3倍,原整数N至少为多大?把此问题推广

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 22:36:24
C语言问题求解,用函数问题四:编程求出:任意n!的尾数有多少个零?5.问题五:整数N的尾数是9,把尾数9移到其前面(成为最高位)后所得的数为原整数N的3倍,原整数N至少为多大?把此问题推广C语言问题求

C语言问题求解,用函数问题四:编程求出:任意n!的尾数有多少个零?5.问题五:整数N的尾数是9,把尾数9移到其前面(成为最高位)后所得的数为原整数N的3倍,原整数N至少为多大?把此问题推广
C语言问题求解,用函数
问题四:编程求出:任意n!的尾数有多少个零?
5.问题五:整数N的尾数是9,把尾数9移到其前面(成为最高位)后所得的数为原整数N的3倍,原整数N至少为多大?
把此问题推广:
整数N的尾数是a,把尾数a移到其前面(成为最高位)后所得的数为原整数N的k倍,原整数N至少为多大?
编程实现以上功能.

C语言问题求解,用函数问题四:编程求出:任意n!的尾数有多少个零?5.问题五:整数N的尾数是9,把尾数9移到其前面(成为最高位)后所得的数为原整数N的3倍,原整数N至少为多大?把此问题推广
#include<stdio.h>
int getNum(int n)
{
    int i,sum,num;
    for(i=1,sum=1;i<=n;i++)
        sum *= i;
    for(num=0;sum>0;)
    {
        if(sum%10==0)
            num++;
        sum /= 10;
    }
    return num;
}
void main()
{
    int n;
    scanf("%d",&n);
    printf("0的个数:%d\n",getNum(n));
}

#include<stdio.h>
int getNum(int a,int k)
{
    int i,n,m,t,p;
    for(i=1;;i++)
    {
        n = i*10 + a;      
        t = i;
        p = a;
        while(t>0)
        {
            t /= 10;
            p *= 10;
        }
        m = p + i; 
        if(m==n*k)
            break;
    }
    return n;
}
void main()
{
    int a,k;
    scanf("%d %d",&a,&k);
    printf("n的值:%d\n",getNum(a,k));
}

望采纳~