P1179 [NOIP2010 普及组] 数字统计
  • 板块学术版
  • 楼主Aaq777
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/8/10 14:44
  • 上次更新2024/8/10 14:52:28
查看原帖
P1179 [NOIP2010 普及组] 数字统计
1301633
Aaq777楼主2024/8/10 14:44

P1179 [NOIP2010 普及组] 数字统计

传送门


题目大意:

输入一个nn和一个mm , 让你求出nn和mm之间22出现的次数。


先看一下如何求一个数各个数位

这题数据不大, 才10510^5,用intint 就行。

int n,m,s=0; //定义n和m,s是求2出现的次数
for(int i=n; i<=m; i++){
    	int b=i,c; //b=i, c是求数位用的
    	while(b!=0){ //while循环求出各个位数
    		c=b%10;
    		b/=10;
    		if(c==2) s++; //如果是2就加1
		}
	}

AC代码:

#include<bits/stdc++.h> //万能头
using namespace std;
int main(){
    int n,m,s=0;
    cin>>n>>m; //输入
    for(int i=n; i<=m; i++){ //前面都讲过了,不知道的看前面
    	int b=i,c;
    	while(b!=0){
    		c=b%10;
    		b/=10;
    		if(c==2) s++;
		}
	}
	cout<<s; // 最后输出总数
	return 0;
} 
2024/8/10 14:44
加载中...