title: ‘算法训练-1的个数’date: 2020-03-11 21:26:27
tags: [蓝桥杯]
published: true
hideInList: false
feature:
isTop: false
/*试题 算法训练 1的个数资源限制时间限制:1.0s 内存限制:256.0MB问题描述 输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。输入格式 一个正整数n输出格式 一个整数,表示1出现的资料样例输入15样例输出8数据规模和约定 n不超过30000*/#include <algorithm>#include <cstdio>#include <cstring>int cal(int n){ int sum=0; while(n){ if(n%10==1){ sum++; } n/=10; } return sum;} int main() { int n; scanf("%d",&n); int sum=0; for(int i=1;i<=n;i++){ sum+=cal(i); } printf("%d",sum); return 0;}
水题刷着好开心啊o( ̄▽ ̄)ブ