上海计算机学会12月月赛丙组T1强迫症题解
2026/6/13 19:29:39 网站建设 项目流程
题目描述

冰棍特别喜欢整齐的东西,对于数更是有特殊的癖好。

冰棍认为,如果一个数只有恰好一位不是 00,那么这个数是整齐的。比如,1,2,40,5001,2,40,500 是整齐的数,而 1919,101,80801919,101,8080 不是整齐的数。

现在他很好奇,在 [1,n][1,n] 的区间内有多少个这种整齐的数。因为他一天要睡 2525 个小时,所以这事交给了你。

输入格式

输入第一行一个整数 TT。

接下来 TT 组数据,每组一行一个整数 nn。

输出格式

对于每组数据,输出一个整数,表示 [1,n][1,n] 内有多少整齐的数。

数据范围
  • 对于 60%60% 的数据,n≤100n≤100;
  • 对于 100%100% 的数据,1≤T≤1041≤T≤104,1≤n≤1061≤n≤106。

题解:根据整齐数的定义,凡是1-9 ,10,20,30,。。。100,200,300。。。1000,2000,3000,10000,20000,30000。。。90000

#include<iostream> using namespace std; int a[10001]; int main(){ int t; cin>>t; for(int i=0;i<t;i++){ cin>>a[i]; if(a[i]<=9){ cout<<a[i]; }else if(a[i]<=99){ cout<<9+a[i]/10; }else if(a[i]<999){ cout<<9+9+a[i]/100; }else if(a[i]<9999){ cout<<9+9+9+a[i]/1000; }else{ cout<<9+9+9+9+a[i]/10000; } } }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询