华为编程题2

题目描述:

1
2
3
4
5
6
7
8
9
10
11
12
13
•计算一个数字的立方根,不使用库函数

详细描述:

•接口说明

原型:

public static double getCubeRoot(double input)

输入:double 待求解参数

返回值:double 输入参数的立方根
1
2
3
4
5
示例1
输入
216
输出
6.0

这个题可以套用公式进行快速立方根进行求解:

1
2
3
4
y是猜测的立方根
x是待分解的数
不断逼近的公式:
(x/(y^2)+2*y)/3

给出python的解法

1
2
3
4
5
6
def lifang(guess,num):
if(abs(guess**3-num)<0.001):
return guess
else:
t=(num*1.0/(guess*2)+2*guess)/3
return lifang(t,num)

但是这种解法不行,python最大的迭代深度报了
所以采用C解法

1
2
3
4
5
double cubert(const double y){
double x;
for (x=1.0 ; abs(x*x*x-y)>0.000001;x=(2*x+y/(x*x))/3);
return x
}

完整的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>
#include<stdlib.h>
double getCubeRoot(const double y)
{
double x;
for(x=1.0;abs(x*x*x-y)>1e-7 ; x=(x*2+y/(x*x))/3);
return x;
}


int main()
{
double y,x;
scanf("%lf",&y);
x=getCubeRoot(y);
printf("%0.1f",x);
return 0;
}

题目描述

1
2
3
4
5
6
7
将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。 如:输入“I am a student”,输出“tneduts a ma I”。
输入参数:

inputString:输入的字符串
返回值:

输出转换好的逆序字符串

示例

1
2
3
4
输入
I am a student
输出
tneduts a ma I

解题代码:

1
2
3
4
5
6
7
8
9
10
import sys

try:
s=raw_input()
s=list(s)
s.reverse()
t=''.join(s)
print t
except:
pass

巧用list也可以直接将字符串变成对应的list,在调用list的reverse方法很便捷,但是需要注意的是,让raw_input会剔除对应的’\n’换行符.但是sys.stdin.readline()会读入对应的换行符很难受,strip方法也会剔除对应的空格

问题描述:

1
2
3
4
5
6
7
8
如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。

实现以下接口:
输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用)
按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出
清空目前的统计结果,重新统计
调用者会保证:
输入的字符串以‘\0’结尾。
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
30
31
32
33
34
35
36
import sys
def cmp1(a,b):
if a[1]>b[1]:
return -1
elif a[1]<b[1]:
return 1
elif ord(a[0])<ord(b[0]):
return -1
elif ord(a[0])>ord(b[0]):
return 1
else:
return 0
try:
s=raw_input()
s_list=list(s)
d={}
for i in s_list:
if d.has_key(i):
d[i]+=1
else:
d[i]=1
k_list=list()
v_list=list()
for k,v in d.items():
k_list.append(k)
v_list.append(v)
t=zip(k_list,v_list)
t.sort(cmp1)
r=list()
for i in t:
r.append(i[0])

t=''.join(r)
print t
except:
pass

热评文章