day13(练习题)
1.寻找2的幂
【描述】数学上把2的K次方叫2的K次幂,如4、8、32等。给定一个整数n,请输出距离它最近的那个2的幂是多少。如果有两个距离相同,输出那个小的。
【输入描述】只有一个整数 n(10 <= n <= 2000000000)
【输出描述】只有一个整数,表示距离 最近的那个2的幂。
【样例输入】17
【样例输出】16
#include<iostream>
using namespace std;
int main()
{int n,x=0,y=0;cin>>n;//因为n的最小值为10,并且2的3次方=8,2的4次方=16;//所以i=4,较为合理// for(int i=4;i<=n;i=i*2){x=i;}y=2*x;if(n-x>y-n){cout<<y;}else{cout<<x;}return 0;
}
2.编程求123*…*n
【描述】编程求123*…*n
【输入描述】输入一行,只有一个整数n(1<=n<=10)
【输出描述】输出只有一行(这意味着末尾有一个回车符号),包括1个整数。
【样例输入】5
【样例输出】120
#include<iostream>
using namespace std;
int main()
{int n,sum=1;cin>>n;for(int i=1;i<=n;i++){sum*=i;}cout<<sum;return 0;
}
3.求满足条件的整数个数
【描述】在