2020第11届蓝桥校内模拟赛

1.15.125GB
在计算机存储中,15.125GB是多少MB?
1GB=1024MB
直接用计算机算就可了,15.125*1024=15488
或者也可以写代码

#include <stdio.h>
int main(){
	double n=15.125;
	printf("%lf",n*1024);
	return 0;
}
//答案为15488

2.约数
1200000有多少个约数(只计算正约数)。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
	int n,ans=0;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		if(n%i==0)//n能否整除i
			ans++;
		
	}
	cout<<ans<<endl;
	return 0;
} 
//答案96

3.叶结点数
答案1010
一棵包含有2019个结点的二叉树,最多包含多少个叶结点?
n0=(n+1)/2或n0=n/2。
使叶子节点数n0最多,n0=n2+1,n2=(2019-1)/2=1009
n0=1009+1=1010
4.数字9
在1至2019中,有多少个数的数位中包含数字9?
注意,有的数中的数位中包含多个9,这个数只算一次。例如,1999这个数包含数字9,在计算只是算一个数。
a=i/1000;/取千位/
b=i%1000/100;/取百位/
c=i%100/10;/取十位/
d=i%10;/取个位/

#include<stdio.h>
int main(){
	int ans=0,i,a,b,c,d;
	for(i=1;i<=2019;i++){
	
	a=i/1000;//取千位 
	b=i%1000/100;//取百位 
	c=i%100/10;//取十位 
	d=i%10;//取个位 
	if(a==9||b==9||c==9||d==9){
		ans++;}
	}
	printf("%d",ans);
	return 0;
}
//544

5.数位递增的数
一个正整数如果任何一个数位不大于右边相邻的数位,则称为一个数位递增的数,
例如1135是一个数位递增的数,而1024不是一个数位递增的数。
  给定正整数 n,请问在整数 1 至 n 中有多少个数位递增的数?
输入格式
  输入的第一行包含一个整数 n。
输出格式
  输出一行包含一个整数,表示答案。
样例输入
样例输出
评测用例规模与约定
  对于 40% 的评测用例,1 <= n <= 1000。
  对于 80% 的评测用例,1 <= n <= 100000。
  对于所有评测用例,1 <= n <= 1000000。

#include<bits/stdc++.h>
using namespace std;
bool ac(int n){//反向判断,从个位开始每一位比左面大 于或等于 
	int t=n%10;
	int temp;
	n/=10;
	while(n){
		temp=n%10;
		n/=10;
		if(temp>t)
		return false;
	}
	return true;
		
	}
int main(){
	int n,ans=0;
	cin>>n;
	for(int i=1;i<=n;i++){

	if(ac(i))
	ans++;	}
	cout<<ans<<endl;
	return 0;
	
}
发布了9 篇原创文章 · 获赞 17 · 访问量 267

猜你喜欢

转载自blog.csdn.net/weixin_44591656/article/details/105099141