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.求满足条件的整数个数
【描述】在1-n中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数的个数,如果没有请输出0。
【输入描述】输入一行,只有一个整数n(1<=n<=2000)
【输出描述】输出只有一行(这意味着末尾有一个回车符号),包括1个整数。
【样例输入】100
【样例输出】1
#include<iostream>
using namespace std;
int main()
{
int n,sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
if(i%3==2&&i%5==3&&i%7==2)
{
sum++;
cout<<i<<endl;
}
}
cout<<"一共"<<sum<<"个";
return 0;
}
4.九九乘法表
【描述】设计一个程序,能够自动打印出数学里面的九九乘法表
【输入描述】无
【输出描述】输出九九乘法表
【样例输入】无
【样例输出】
11=1
12=2 22=4
13=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
16=6 26=12 36=18 46=24 56=30 66=36
17=7 27=14 37=21 47=28 57=35 67=42 77=49
18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19=9 29=18 39=2749=36 59=45 69=54 79=63 89=72 9*9=81
#include<iostream>
using namespace std;
int main()
{
for(int i=1;i<=9;i++)
{
for(int j=1;j<=i;j++)
{
cout<<j<<"*"<<i<<"="<<i*j<<"\t";
}
cout<<endl;
}
return 0;
}
5.三角形的个数
【描述】从键盘输入整数L,统计出边长为整数,周长为L的不等边三角形的个数。整数L ( 3 <= L <= 32767 )
【输入描述】整数L ( 3 <= L <= 32767 )
【输出描述】三角形个数
【样例输入】15
【样例输出】6
#include<iostream>
using namespace std;
int main()
{
int a,b,c,l,sum=0;
cin>>l;
//a>b>c
for(a=2;a<l;a++)
{
for(b=1;b<=a;b++)
{
for(c=1;c<=b;c++)
{
if((b+c>a)&&((a-c)<b)&&(a+b+c==l))
{
if(a==b&&a==c) break;
else
{
//printf("%d %d %d \n",a,b,c);
sum++;
}
}
}
}
}
cout<<sum;
return 0;
}
6.回文数判断
【描述】回文数是指一个数字从左到右顺序与从右到左的顺序是一样的数字,则这个数字称为回文数,例如12321、2332。使用for循环与pow()函数,设计一个程序能够判断输入的数字是否为回文数
【输入描述】输入一个正数字
【输出描述】输出该数字是否为回文数,如果是则输出为1,否则输出为0。
【样例输入】12321
【样例输出】1
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int num;
bool flag;
cin >> num;
if(num<0)
{
flag=false;
}
else
{
int digits = log10(num)+1;
for(int i=0; i<digits/2; i++)
// 将double结果显式转换为int
if( (int)(num/pow(10,i)) %10 != (int)(num/pow(10,digits-i-1))%10 )
flag=false;
else
flag=true;
}
cout <<flag << endl;
return 0;
}
299

被折叠的 条评论
为什么被折叠?



