地址:http://acm.swust.edu.cn/problem/1089/
这个题是查找两个数之间包含11,或者是11的倍数的数一共有多少个。
#include<stdio.h>
int main()
{
void judge(int a,int b);
int num1,num2;
while(scanf("%d%d",&num1,&num2)!=EOF)
{
int min=num1>num2?num2:num1;
int max=num1>num2?num1:num2;
judge(min,max);
}
return 0;
}
void judge(int a,int b)
{
int sum=0;
int i,j,n,record,time;
for(i=a;i<=b;i++)
{
record=0;
time=0; 这两个初值赋0是每一个数判断开始都要赋初值的
if(i%11==0)
{
sum++;
continue;
}
j=i;
while(j!=0)
{
n=j%10;
j=j/10;
record=record*10+n;
time++;
if(time==2)
{
if(record==11)
{
sum++;
break;
}
time=1;
record=n; 这里要注意:我已开始写的是time=0 record=0;这样写就使得一些如10112这样的数据没有办法测试出来
}
}
}
printf("%d\r\n",sum);
}