提问 数字统计的题 两个代码有何不同
题目:请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数20中出现了1次,在数21中出现了1次,在数22中出现了2次,所以数字2在该范围内一共出现了6次。
第一个代码是这样
#include<iostream>
using namespace std;
int main()
{
int l, r, count = 0;
cin >> l >> r;
for(int i = l ; i <= r; i++)
{
int t = i;
while(t != 0)
{
if(t % 10 == 2)
count ++;
t /= 10;
}
}
cout << count << endl;
return 0;
}
第二个代码是这样,但是会超时
#include<iostream>
using namespace std;
int main()
{
int l, r, count = 0;
cin >> l >> r;
for(; l <= r; l++)
{
while(l != 0)
{
if(l % 10 == 2)
count ++;
l /= 10;
}
}
cout << count << endl;
return 0;
}
求助!