关闭

爱奇艺2017C/C++笔试练习题

标签: C++
268人阅读 评论(0) 收藏 举报
分类:

一、两道练习题目

1、求数列的和

Time Limit: 2000/2000 MS (Others/C,C++) Memory Limit: 32768/32768 K (Others/C,C++)
Problem Description:
数列的定义如下:
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
输入
输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。
输出
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。

样例输入
81 4
2 2
样例输出

94.7

33.41

#include<iostream>
#include<vector>
#include <cmath>
#include<stdio.h>
using namespace std;
float compute(int n,int m){
    float p = n;
    float result = p;  
	for(int i = 0; i < m - 1;++i){
    	float k = sqrt(p);
        p = k;
    	result += k;
    }
    return result;
}
int main(){
	vector<int> vec;
    int m,n;
    while(scanf("%d%d",&n,&m) != EOF){
    	vec.push_back(n);
        vec.push_back(m);
    }
    int len = vec.size();
    vector<float>  res;
    for(int i = 0; i < len; i = i + 2){
    	n = vec[i];
        m = vec[i + 1];
        res.push_back(compute(n,m));
    } 
    for(int j = 0; j < res.size(); ++j){
    	printf("%.2f\n",res[j]);
    }
}
2、求水仙花数
输入
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。
输出
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no;
每个测试实例的输出占一行。


样例输入
100 120
300 380
样例输出
no
370 371

#include<iostream>
#include<vector>
#include <cmath>
#include<stdio.h>
using namespace std;
bool compute(int x){
	bool flag = false;
    int i,j,k,temp,num;
    i = x / 100;
	temp = x / 10;
	j = temp % 10;
	k = x % 10;
	num = i * i * i + j * j * j + k * k * k;
	if(num == x) return true;
	else return false;
}
int main(){
	vector<int> vec;
    int m,n;
    while(scanf("%d%d",&n,&m) != EOF){
    	vec.push_back(n);
        vec.push_back(m);
    }
    int len = vec.size();
	int k = 0;
	vector<vector<int>>  vec;
    for(int i = 0; i < len;i = i + 2){
    	m = vec[i];
        n = vec[i + 1];
        for(int j = m; j <= n; ++j){
        	if(compute(j))
				vec[k].push_back(j);
        }
		++k;
    }
	for(int i = 0; i < vec.size(); ++i){
		for(int j = 0; j < vec[i].size();++j){
			cout<<vec[i][j];
		}
		if(vec[i].size() == 0)
			cout<<"no";
		cout<<endl;
	}
    return 0;
}

二、笔试题目

待续。。

0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:131946次
    • 积分:4582
    • 等级:
    • 排名:第6890名
    • 原创:346篇
    • 转载:33篇
    • 译文:0篇
    • 评论:13条
    最新评论