題目信息:參考鏈接
//01-報數
void numStat(){
int a[4] = {0};
int n, cnt = 1, i = 0, jmp = 0;//優化 去除jmp
scanf("%d", &n);
while(i < n){
if(cnt % 7 == 0 || judge(cnt)){
a[jmp % 4]++;
cnt++;
jmp++;
continue;
}
//報數
i++;//喊出
jmp++;//輪詢
cnt++;//1,2,....
}
for(i = 0; i < 4; i++){
printf("%d\n", a[i]);
}
}
int judge(int n){
int i = n / 10, j = n % 10;
while(i > 0){
if(j == 7){
return 1;
}
j = i % 10;
i = i / 10;
}
if(j == 7){
return 1;
}
else{
return 0;
}
}
int main(){
numStat();
return 0;
}