C语言,一个正整数 N,有多少个满足要求的正整数 D 存在,要求是 D 是 N 的因子,并且 D 和 N 至少有一位相同。

输入一个正整数 N,求有多少个满足要求的正整数 D 存在,要求是 D 是 N 的因子,并且 D 和 N 至少有一位相同。

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

#include <stdio.h>

void main()
{
    int n, i, f, m, k;
    scanf("%d", &n);
    for (i = 1; i < n; i++)
    {
        if (n % i == 0){
            f = 0;
            m = n;
            while (m>0)
            {
                k = i;
                while (k>0)
                {
                    if (k%10 == m%10) {
                        f = 1;
                        break;
                    }
                    k /= 10;
                }
                if (f==1)
                    break;
                m /= 10;
            }

            if (f==1)
                printf("%d\n", i);
        }

    }
}

这个因子是因数吗
个位数为2 4 5 6 8 9都能找到。