入门训练

A+B问题:

题目:

资源限制
时间限制:1.0s   内存限制:256.0MB
问题描述
输入A、B,输出A+B。

输入格式
输入的第一行包括两个整数,由空格分隔,分别表示A、B。

输出格式
输出一行,包括一个整数,表示A+B的值。

样例输入
12 45

样例输出
57

数据规模与约定
-10000 <= A, B <= 10000

代码:

a,b=map(int,input().split())
print(a+b)
法一
A , B = input().split()
print(int(A) + int(B))
法二
x = input()
a, b = x.split()
print("{}".format(int(a) + int(b)))
法三

补充:

spilt()函数:

通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串

语法:

str.split(str="", num=string.count(str)).

参数:

  • str -- 分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等。
  • num -- 分割次数。默认为 -1, 即分隔所有。

序列求和:

题目:

资源限制
时间限制:1.0s   内存限制:256.0MB

问题描述
求1+2+3+...+n的值。

输入格式
输入包括一个整数n。

输出格式
输出一行,包括一个整数,表示1+2+3+...+n的值。

样例输入
4
样例输出
10

样例输入
100
样例输出
5050

数据规模与约定
1 <= n <= 1,000,000,000。
说明:请注意这里的数据规模。

代码:

a = int(input())
sum = (a + 1)*a//2
print(sum)
法一
a = int(input())
sum = int((a + 1)*a/2)
print(sum)
法二

注:

两种解法道理一样,注意格式即可

圆的面积:

题目:

资源限制
时间限制:1.0s   内存限制:256.0MB

问题描述
给定圆的半径r,求圆的面积。

输入格式
输入包含一个整数r,表示圆的半径。

输出格式
输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。
说明:在本题中,输入是一个整数,但是输出是一个实数。

样例输入
4
样例输出
50.2654825

数据规模与约定
1 <= r <= 10000。

提示
本题对精度要求较高,请注意π的值应该取较精确的值。你可以使用常量来表示π,比如PI=3.14159265358979323,也可以使用数学公式来求π,比如PI=atan(1.0)*4

代码:

import math
x = int(input())
s = math.pi*pow(x, 2)
print("%.7f"%s)
View Code

Fibonacci数列:

题目:

资源限制
时间限制:1.0s   内存限制:256.0MB

问题描述
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

输入格式
输入包含一个整数n。
输出格式
输出一行,包含一个整数,表示Fn除以10007的余数。
说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

样例输入
10
样例输出
55

样例输入
22
样例输出
7704

数据规模与约定
1 <= n <= 1,000,000

代码:

def feibonacci(n):
    f1 = 1
    f2 = 1
    f3 = 1
    for i in range(2, n):
        f3 = (f1 + f2) % 10007
        f1 = f2
        f2 = f3
    return f3

x = int(input())
print(feibonacci(x))
法一
n = int(input())
def feibo(n):
    if n == 1 or n == 2:
        return 1
    return feibo(n-1) +feibo(n-2)

a = feibo(n)
result = a % 10007
print(result)
法二
while True:
    try:
        n = int(input())
        res1, res2 = 1, 1
        for i in range(3, n+1):
            res1, res2 = res2 % 10007, (res2 + res1) % 10007
        print(res2)
    except:
        break
法三
原文地址:https://www.cnblogs.com/3cH0-Nu1L/p/14259700.html