用c语言如何解这道题,告知一下。

农夫约翰想从正整数A-B之间,选择一些素数来作为奶牛的编号,作为编号的数各位上的数字至少有一个特定的数字D,如A为11、B为15,D为3时,则A-B之间有11、13两个素数,但组成11的两个数字中没有3,所以只有一个数13符合条件。
输入格式:
一行三个正整数A、B和D,之间用一个空格隔开。
输出格式:
一行一个正整数,表示包含数字D的质数个数。
输入样例:
10 15 3
输出样例:
1

#include <stdio.h>
int main()
{
    int A,B,D;
    int i,j,t;
    int cnt = 0;
    scanf("%d %d %d",&A,&B,&D);
    for (i = A;i<=B;i++)
    {
        for(j=2;j<i;j++)
        {
            if(i%j == 0)
                break;
        }
        if(j == i)
        {
            t = i;
            while(t)
            {
                if(t%10 == D)
                {
                    cnt++;
                    break;
                }
                t/=10;
            }
        }
    }
    printf("%d",cnt);
    return 0;
}