#include<iostream>
#include<cmath>
using namespace std;
int f(int i,int k) {
if (i == 5 || i % 10 == 5) return k+1;
else if (i != 0) return f(i / 10, k);
else return k;
}
int main() {
short int n;
int k = 0;
cin >> n;
for (int i = 5; i < abs(1 - n); i = i + 5)
k = f(i, k);
cout << k << endl;
这样写测试数据9999是正确了,但是却说答案50%错误,而且最开始我用的return k++;它其实返回的是0,好像是因为先return了,所以一直k都为初值0.