美文网首页PAT
甲级| 1049.Counting Ones

甲级| 1049.Counting Ones

作者: yzbkaka | 来源:发表于2019-08-10 17:57 被阅读2次

    题目描述

    The task is simple: given any positive integer N, you are supposed to count the total number of 1's in the decimal form of the integers from 1 to N. For example, given N being 12, there are five 1's in 1, 10, 11, and 12.

    输入描述

    Each input file contains one test case which gives the positive N (≤2​^30​​).

    输出描述

    For each test case, print the number of 1's in one line.

    输入例子

    12

    输出例子

    5

    我的代码

    #include<stdio.h>
    int count=0;
    void getAns(int a){
        int k;
        if(a<10 && a==1){
            count++;
        }
        if(a>=10){
            while(a>=10){
                k=a%10;
                a=a/10;
                if(k==1){
                    count++;
                }
                if(a==1){
                    count++;
                }
            }
        }
    }
    
    int main(){
        int n,sum=0;
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            getAns(i);
        }
        printf("%d",count);
        return 0;
    }
    

    相关文章

      网友评论

        本文标题:甲级| 1049.Counting Ones

        本文链接:https://www.haomeiwen.com/subject/sharjctx.html