问题标题: 酷町堂:一周年纪念日,100豆问题!

0
0
已解决
董宇昊
董宇昊
初级启示者
初级启示者

1023   “1”见钟情

题目描述 Description

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

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

输入描述 Input Description

正整数n。1 <= n <= 10000。

输出描述 Output Description

一个正整数,即“1”的个数。

样例输入 Sample Input

15

样例输出 Sample Output

8


0
已采纳
范皓翔
范皓翔
初级光能
初级光能

这是一个水题

if直接!!!

0
0
董宇昊
董宇昊
初级启示者
初级启示者

简单吧

不要网址

我会采纳最详细的那个

董宇昊在2020-06-10 17:35:29追加了内容

其实,我已经AC了

不要蹭帖,蹭帖举报

0
潘晨皓
潘晨皓
高级天翼
高级天翼

其实这道题我不会啊。。。

我只知道它为什么难……

判断两位数,三位数……还要判断它的个位,十位,百位……

 

所以我说这道题很难……

0
王子逸
王子逸
新手天翼
新手天翼

这个每个数字变成字符串 每输入一个用 size() for一下 如果有字符1就s++ 然后输出是s

王子逸在2020-06-11 17:24:13追加了内容

恭喜AC!!!

0
董子墨
董子墨
中级天翼
中级天翼

一、定义+输入(如果不会,放弃吧)

二、循环遍历1~n,每个数循环取位数,如果这一位是1,则答案++

三、输出

0
黄依成
黄依成
中级天翼
中级天翼

这题可以用循环取位数或... ... ...暴力出奇迹!

当当当当当,暴力闪亮登场!

定义n,输入n

循环1到n(接下来我要放大招了)

if(i%10==1) sum++; //个位
if(i%100/10==1) sum++;//十位
if(i%1000/100==1) sum++;//百位
if(i%10000/1000==1) sum++;//千位
if(i%100000/10000==1) sum++;//万位

0
邓涵睿
邓涵睿
中级天翼
中级天翼

定义,for循环,再来一个while,这样的水题多么简单d=====( ̄▽ ̄*)b

0
李瑞曦
李瑞曦
高级天翼
高级天翼

定义变量:n,计数器=0;

输入n;

for(int i=1;i<=n;i++){

       定义一个变量a来存i的值;

    while(a不等于0){

        if(a%10等于1){

            计数器++;
        }

        a/=10;

    }

}

输出s;

        

0
被禁言 何冯成
何冯成
中级光能
中级光能

简单

for加while搞定

核心(while里面的):

  • a=x%10;
  • if(a==1)
  • sum++;
  • x/=10;

 

最后cout<<sum;

我要回答