打表法?(c语言)

来源:百度知道 编辑:UC知道 时间:2024/06/15 04:18:00
Input
输入的都是整数对n、m(0<n≤m<1000000),如果遇到都是0的整数对,则输入结束。

Output
对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。

Sample Input
1 100
0 0

Sample Output
80
Input
输入的都是整数对n、m(0<n≤m<1000000),如果遇到都是0的整数对,则输入结束。

Output
对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。

Sample Input
1 100
0 0

Sample Output
80

用打表法做,什么是打表法啊?
最好能详细一点,先谢谢啊!
不吉利数字为62和4.
是OJ上的题目.

#include <stdio.h>
#include <string.h>

char str[7], flag[1000000];
void Init()
{
int i, j, k;
memset(flag, '1', sizeof(flag));
for (i=1; i<1000000; i++)
{
itoa(i, str, 10);
for (j=0,k=strlen(str)-1; j<=k; j++,k--)
{
if (str[j]=='4'||str[k]=='4')
{
flag[i] = '0';
break;
}
if ((str[j]=='6'&&str[j+1]=='2')||(str[k-1]=='6'&&str[k]=='2'))
{
flag[i] = '0';
break;
}
}
}
}

int main()
{
int n, m, sum, i;
Init();
while (scanf("%d%d",&n,&m), n+m)
{
for (sum=0,i=n; i<=m; i++) sum += flag[i]-'0';