第一题
问题描述
1200000有多少个约数(只计算正约数)。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
解析:整数a除以整数b(b≠0) 除得的商正好是整数而没有余数,我们就说a能被b整除,或b能整除a。a称为b的倍数,b称为a的约数。
1200000=2X2X2X2X2X2X2X3X5X5X5X5X5
2:7次方
3:一次方
5:5次方
所以有正约数:
(7+1)X(1+1)X(5+1)
=8X2X6
=16X6
=96个
答案:96
第二题
问题描述
在计算机存储中,15.125GB是多少MB?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分
解析:1G==1024M
答案:15488
第三题
问题描述
一棵包含有2019个结点的树,最多包含多少个叶结点?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
解析:这道题博主就视为它是二叉树,一个二叉树存在奇数结点:((n-1)/2)+1,存在偶数结点:n/2
答案:1010
第四题
问题描述
在1至2019中,有多少个数的数位中包含数字9?
注意,有的数中的数位中包含多个9,这个数只算一次。例如,1999这个数包含数字9,在计算只是算一个数。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
解析:代码很简单,不多赘述,手算更快。
大概思路
for (int i = 1; i <=2019; i++) {
int a=i;
int b = a%10;
if(b==9){
count++;
}
答案:544
第五题
问题描述
在数列 a[1], a[2], ..., a[n] 中,如果对于下标 i, j, k 满足 0<i<j<k<n+1 且 a[i]<a[j]<a[k],则称 a[i], a[j], a[k] 为一组递增三元组,a[j]为递增三元组的中心。
给定一个数列,请问数列中有多少个元素可能是递增三元组的中心。
输入格式
输入的第一行包含一个整数 n。
第二行包含 n 个整数 a[1], a[2], ..., a[n],相邻的整数间用空格分隔,表示给定的数列。
输出格式
输出一行包含一个整数,表示答案。
样例输入
5
1 2 5 3 5
样例输出
2
int main()
{
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
//竞赛专用减耗时
int a[A],n,sum=0;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(i=0;i<n-2;i++)
{
for(int j=i+1;j<n-1;j++)
{
for(int k=j+1;k<n;k++)
{
if(a[i]<a[j] && a[j]<a[k])
{
sum++;
a[j]=0;
break;
}
}
}
}
cout<<sum<<endl;
return 0;
}
第六题
问题描述
一个正整数如果任何一个数位不大于右边相邻的数位,则称为一个数位递增的数,例如1135是一个数位递增的数,而1024不是一个数位递增的数。
给定正整数 n,请问在整数 1 至 n 中有多少个数位递增的数?
输入格式
输入的第一行包含一个整数 n。
输出格式
输出一行包含一个整数,表示答案。
样例输入
30
样例输出
26
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int n;
int count=0;
cin>>n;
for(int i=1;i<=n;++i){
if(define1(i))
count++;
}
cout<<count<<endl;
return 0;
}
bool define1(int j){
m = 0;
while(j){
a[m++]=j%10;
j/=10;
}
for(int i=m-1;i>0;--i){
if(a[i]>a[i-1])
return false;
}
return true;
}