19112915084 发表于 2022-6-10 16:43:40

课设题目

数字乘积根问题
【任务描述】
对任意输入的正整数,求其数字乘积根。
正整数的数字乘积的定义是:这个整数中非零数字的乘积。例如,整数999的数字乘积为9*9*9,即729。
正整数的数字乘积根的定义是:求一个正整数的数字乘积,再求该乘积的数字乘积,如此反复计算,直至乘积含一位数字,这个一位数字就叫该整数的数字乘积根。
例如:10025的非零数字积为1*2*5=10,10的非零数字积为1,1就是10025的数字乘积根。729的数字乘积为7*2*9,即126;126的数字乘积为1*2*6,即12;12的数字乘积为1*2,则2就是729的数字乘积根。
感谢各位大佬回复!   谢谢谢谢

jhq999 发表于 2022-6-10 19:15:08

int main()
{
        int num=0,sum=1;
        scanf("%d",&num);

        while(num/10)
        {
                sum=1;
                while(num)
                {
                        sum*=(num%10)?num%10:1;
                        num/=10;
                }
                num=sum;
        }
        printf("%d",num);
        return 0;
}

19112915084 发表于 2022-6-10 21:58:48

jhq999 发表于 2022-6-10 19:15


这个编译没过啊 呜呜

jhq999 发表于 2022-6-10 22:16:34

19112915084 发表于 2022-6-10 21:58
这个编译没过啊 呜呜

你不会没自己添加
#include <stdio.h>

19112915084 发表于 2022-6-11 20:40:36

jhq999 发表于 2022-6-10 22:16
你不会没自己添加
#include


怎么可能,加了,虽然我很菜,但是这错误还是不可能的

spaceman 发表于 2022-6-12 19:49:25

jhq999 发表于 2022-6-10 19:15


很巧妙
页: [1]
查看完整版本: 课设题目