笔试题

来源:互联网 发布:suse centos 区别 编辑:程序博客网 时间:2024/06/05 04:48
大型企业面试题初探

(2017-网易-笔试编程题)-字符串练习

题目描述:
小易喜欢的单词具有以下特性:
1.单词每个字母都是大写字母
2.单词没有连续相等的字母
3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,
子序列可能不连续。
例如:
小易不喜欢”ABBA”,因为这里有两个连续的’B’
小易不喜欢”THETXH”,因为这里包含子序列”THTH”
小易不喜欢”ABACADA”,因为这里包含子序列”AAAA”
小易喜欢”A”,”ABA”和”ABCBA”这些单词
给你一个单词,你要回答小易是否会喜欢这个单词。

输入描述:
输入为一个字符串,都由大写字母组成,长度小于100

输出描述:
如果小易喜欢输出”Likes”,不喜欢输出”Dislikes”

示例1 :
输入
AAA
输出
Dislikes

“”“

#!/usr/bin/env python
#coding: utf-8

"""
 Author         : yuan
 Time           : 9/1/17 4:18 PM
 Discryption    :

"""
代码:
def instr():
    for l in range(0, len(str) - 2):
        for k in range(l + 2, len(str)):
            if str.count(str[l:k:]) >= 2:
                print "Dislikes"
            else:
                for o in range(2, len(str)):
                    if str[k::o] == str[l:k:]:
                        print "Dislikes"
                        exit(1)
                print "Likes"
            exit(1)
    return;

str = raw_input("input  : ").upper()
if len(str) == 1:
    print "Likes"
elif len(str) > 1:
    for flag in range(0, len(str) - 1):
        if str[flag] == str[flag + 1]:
            print "Dislikes"
            exit(1)
    for i in range(0,len(str)):
        if str.count(str[i]) <= 2:
            instr()
        else:
            print "Dislikes"
            exit(1)
    print "Likes"
else:
     print "error  input !!"
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
37
38
39
40
41
测试




(2017-腾讯-在线编程题)

题目描述:
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))

输入描述:
输入包括一个整数n,(3 ≤ n < 1000)

输出描述:
输出对数

示例1 :

输入:
    10
输出:
    2
1
2
3
4
5
代码:

#!/usr/bin/env python
#coding: utf-8

"""
 Author         : yuan
 Time           : 9/1/17 8:27 PM
 Discryption    :
 """

num = input("input : ")
sum = 0
if num < 1 and num >= 1000:
    print "error input !!"
    exit()

def isprime(num):
    for i in range(2, num):
        if num % i == 0:
            return False
    return True

for i in range(2,num/2+1):
    if isprime(i) and isprime(num-i):
            sum += 1
print sum

原创粉丝点击