📜  TCS Codevita 2020 面试体验(1)

📅  最后修改于: 2023-12-03 15:05:30.635000             🧑  作者: Mango

TCS Codevita 2020 面试体验

介绍

TCS Codevita是印度最大的学生编程比赛之一,每年吸引了来自全球各地的数千名学生参加。它旨在提高计算机编程技能,培养学生的解决问题的能力。

面试体验

我在去年参加了TCS Codevita的面试。面试过程大约持续了一个小时,面试官非常友好且耐心地向我介绍了比赛的流程和规则。

在面试期间,我被要求解决两个问题。我使用了Python作为我的编程语言,因为我对它的语法和库非常熟悉。我使用了PyCharm作为我的IDE,在编写代码时使用了有效的注释和命名约定。

对于第一个问题,我需要编写一个程序,找到一个给定区间内的所有回文素数。这需要我了解质数和回文数的定义,并使用一个较短的时间内设计出能够找到所有回文素数的程序。

import math

def is_prime(num):
    """
    判断是否是素数
    """
    if num < 2:
        return False
    for i in range(2, int(math.sqrt(num))+1):
        if num % i == 0:
            return False
    return True

def is_palindrome(num):
    """
    判断是否是回文数
    """
    num = str(num)
    return num == num[::-1]

lower = int(input("输入区间下限:"))
upper = int(input("输入区间上限:"))

palindrome_primes = []

for num in range(lower, upper+1):
    if is_prime(num) and is_palindrome(num):
        palindrome_primes.append(num)

print("结果为:", palindrome_primes)

对于第二个问题,我需要编写一个程序,找到一个列表中最接近平均数的元素。这需要我计算平均数,然后通过查找最接近平均数的元素来枚举列表。

def closest_to_average(numbers):
    """
    找到最接近平均数的元素
    """
    length = len(numbers)
    average = sum(numbers)/length
    closest = numbers[0]
    diff = abs(numbers[0] - average)
    for i in range(1, length):
        new_diff = abs(numbers[i] - average)
        if new_diff < diff:
            closest = numbers[i]
            diff = new_diff
    return closest

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print("结果为:", closest_to_average(numbers))
总结

TCS Codevita面试是一个非常有益和挑战性的体验。通过参加这个比赛和面试,我学会了很多关于计算机编程、算法和数据结构的基础知识,并且得到了进一步提高我的机会。如果你考虑进入计算机编程领域,我强烈推荐你参加TCS Codevita比赛。