实践题1

【问题描述】

  编写具有如下原型的函数:bool f(long x);其功能为:若整数 x 仅由偶数字(0、2、4、6、8)组成时(如 x=26480),函数返回 true,否则返回 false(如当 x=22034 时)。并编制主函数对它进行调用。

【输入形式】

只能是一个整数数字,中间不能有空格等其他字符;

【输出形式】

只输出true或者false,后面不要换行。
【样例输入】

26480

【样例输出】

true

【题解】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<iostream>
using namespace std;
bool f(long n)
{
int i=0;
while(n)
{
i=n%10;
n/=10;
if(i==0||i%2==0)
;
else
return false;

}
return true;
}
int main()
{
long x;
cin>>x;
if(f(x))
cout<<"true";
else
cout<<"false";
}

实践题2

【问题描述】

  编写具有如下原型的函数:void find(int i, int n); 实现从 i 开始找起,连续找出 n 个素数并显示在屏幕上。如:实参为10 和 8 后,输出的 8 个素数应为:11,13,17,19,23,29,31,37。

【输入形式】

输入两个整数,前一个是查找的起始数字,后一个是指定查找几个素数;

【输出形式】

  输出指定数量的素数,每个素数后面加一个空格作为分隔符,最后一个数字后面可以有一个空格,但不需要换行。

【样例输入】

13 4

【样例输出】

13 17 19 23

【题解】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include<iostream>
using namespace std;
void find(int i, int n)
{
int x,k,t;
t=0;
for(x=i;;x++)
{
for(k=2;k<x;k++)
{
if(x%k==0)
break;
if(k==x-1)
{
cout<<x<<" ";
t++;
}
}
if(t==n)
break;
}
}
int main()
{
int i,n;
cin>>i>>n;
find(i,n);
return 0;
}

实践题3

【问题描述】

  输入正整数start和end,找出从start到end这一区间段内哪一个数n的因子和最大,并将该n及其因子和maxSum作为结果输出。例如,当start=10,end=15时,所求的n应该为12,而maxSum应该为16。

要求:设计函数计算n的因子和,其中因子和为包括1但不包括n本身的所有因子之和。

【输入形式】

两个整数,用来指定查找的起始数字和结束数字;

【输出形式】

  两个整数,中间用一个空格隔开,前一个是因子和最大的数字,后一个是因子和,最后一个数字后面不要有空格和换行。

【样例输入】

10 15

【样例输出】

12 16

【题解】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
int main()
{
int start,end,i,j,sum,maxSum,n;
maxSum=0;
n=0;
cin>>start>>end;
for(j=start;j<=end;j++)
{
for(i=1,sum=0;i<j;i++)
{
if(j%i==0)
{
sum+=i;
}
}
if(maxSum<sum)
{
maxSum=sum;
n=j;
}
}
cout<<n<<" "<<maxSum;
}

实践题4

【问题描述】

  404NOT FOUND

【输入形式】

404NOT FOUND

【输出形式】

404NOT FOUND

【样例输入】

404NOT FOUND

【样例输出】

404NOT FOUND

【题解】

1
404NOT FOUND

实践题5

【问题描述】

  键盘输入正整数 n,求出n与其反序数x之和并输出。例如,输入2038,n+x = 2038 +8302 =10340,输出应为10340。要求:编写函数实现数据转换成反序数值。

【输入形式】

输入一个整数;

【输出形式】

输出一个整数;

【样例输入】

2038

【样例输出】

10340

【题解】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<iostream>
#include<cmath>
using namespace std;
int fun(int n)
{
int i,j,sum=0,t=0;
for(i=0;;i++)
{
if(n/(int)pow(10,i)==0)
break;
}
for(j=i-1;j>=0;j--)
{
t=n%10;
n/=10;
sum+=t*pow(10,j);
}
return sum;
}
int main()
{
int n;
cin>>n;
cout<<n+fun(n);
}