C++ 1的个数简单解法

问题描述

输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。
例如15,那么从1到15之中,一共出现了8个1。

输入格式

一个正整数n

输出格式

一个整数,表示1出现的资料

样例输入

15

样例输出

8

数据规模和约定

n不超过30000
#include 
using namespace std;

int main(){
     
	int n;
	int cnt = 0; //用来记录1的个数
	cin >> n;
	for(int i=1;i<=n;i++){
     
	int j = i; //j用来存放每次循环后更新过的i值
	while(j){
      //循环依次对j的个位十位百位。。。位进行对一取余
		if(j%10==1){
      
			cnt++;	
		}
		j /= 10;
	 }
	}
	cout << cnt << endl;
	return 0;
}

你可能感兴趣的:(C++算法题解,c++,算法,数据结构)