小菜看到5,2,1就会特别愤怒,现在他想知道在连续的数中有多少数全部包含了这三个数字。例如12356就算一个,而51111就不算。特别的,如果他看到521三个数连续出现就会特别愤怒。
输入:多组数据测试,一行给定两个数a,b(0>a,b<1000000),表示数字的开始和结束。
输出:一行显示他想要知道的数有几个,然后显示有多少个数字令他特别愤怒。空格隔开。
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
#include<stdio.h>
int c[1000000]={0},f[1000000]={0};
int main(){
int b[100]={0};
int a,d,i,j,Q,W,E,m,w,x,t=1,s,F,X;
for(i=100;i<1000000;i++){
s=i;w=0;
c[i]=c[i-1];
f[i]=f[i-1];
while(s){
b[w]=s%10;
s=s/10;
w++;
}
Q=0;W=0;E=0;F=0;
for(s=0;s<w;s++){
if(b[s]==5)
Q++;
if(b[s]==2)
W++;
if(b[s]==1)
E++;
if(b[s]==1&&b[s+1]==2&&b[s+2]==5){
F++;
}
}
if(Q!=0&&W!=0&&E!=0){
c[i]++;
}
if(F!=0){
f[i]++;
}
}
while(scanf("%d %d",&a,&d)!=EOF){
printf("Case %d:%d %d\n",t++,c[d]-c[a-1],f[d]-f[a-1]);
}
return 0;
}