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;
}