数据结构:数字统计
请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。
比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。、
思路:常规操作:
循环提取末尾,然后⼲掉末尾~
java代码如下:
import java.util.Scanner;
public class Main {public static void main(String[ ] args){Scanner sc=new Scanner(System.in);int l=sc.nextInt();int r=sc.nextInt();int ret=0;for(int i=l;i<=r;i++){int tmp=i;while(tmp!=0){if(tmp%10==2){ret++;}tmp/=10;}}System.out.println(ret);}
}
c++代码如下:
#include <iostream>
int main()
{int l,r;std::cin>>l>>r;int ret=0;for(int i=l;i<=r;i++){int tmp=i;while(tmp!=0){if(tmp%10==2){ret++;}tmp/=10;}}std::cout<<ret;return 0;
}