NOI的1.5.40数1的个数

描述
给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。

例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。

输入
正整数n。1 <= n <= 10000。
输出
一个正整数,即“1”的个数。
样例输入
12
样例输出
5

解法:

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
	Scanner in=new Scanner(System.in);
	int n=in.nextInt();
	int a=1,b;//a表示出现的数字,b表示出现数字的每位数的值
	int sum=0;//sum表示出现"1"的总个数
	for(int i=1;i<=n;i++) {
		a=i;
		while(a!=0){//a!=0,是如果出现的数字每一位数字都知道之后,循环应该结束
			b=a%10;//从个位开始,看每位上的数为多少
			a=a/10;
			if(b==1) {
				sum=sum+1;
			}
		}
	}
	System.out.println(sum);
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值