写一个函数,输出前N个数(从7开始),这N个数满足如下3个条件中的任意一个
1.整出7
2.各位上的数字之和整除7,(比如34)
3.任意位上包含数字7
附我的代码:
void printN(int n)
{
int c=0;
int i=7;
do
{
if(i%7 ==0)
{
printf("%d\n",i);
c++;
}
else
{
int j=i%10;
int k=j;
int s=k;
int p=10;
while(k<i)
{
if(j==7)
{
printf("%d\n",i);
s=0;
c++;
break;
}
else
{
j=((i-k)/p)%10;
s+=j;
k=j*p+k;
p*=10;
}
}
if(s&&s%7==0)
{
printf("%d\n",i);
c++;
}
}
i++;
} while (c<n);
}