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;
	
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章