每天发射的卫星数量

# def is_valid(seq, n, last_element=0):
#     # print(seq[-1] // 2)
#     # print(last_element)
#     if len(seq) == 1:
#         return True
#     if last_element > seq[-1] // 2:
#         return False
#
#     return is_valid(seq, n, last_element + 1)
# def count_valid_sequences(n):
#     count = 1
#     for i in range(1, n):
#         count += is_valid([n], i)
#     return count
# n = int(input())
# # print(count_valid_sequences(n))
# #
# for i in range(1, n+1):
#     count = 1
#     for y in range(0, i//2):
#         count += 1
# print(count)






# #include<bits/stdc++.h>
# using namespace std;
# int a[1010];
# int main(){
#     int n;
#     cin>>n;
#     a[1]=1;
#     for(int i=2;i<=n;i++){
#         for(int j=1;j<=i/2;j++)
#             a[i]+=a[j];
#         a[i]++;
#     }
#     cout<<a[n];
#     return 0;
# }

# n = int(input())
# a = [1]*(n+1)
# for i in range(2,n+1):
#     cur = 1
#     while cur <= i//2:
#         a[i] += a[cur]
#         cur += 1
# print(a[n])




def satellite(k):
    count = 0 # 计数器
    n = 1 # 每天发射的卫星数量
    for i in range(1, k+1):
        count += n # 累加卫星数量
        if i == n*(n+1)//2: # 判断是否需要增加每天发射的卫星数量
            n += 1
    return count

k = int(input())
print(satellite(k)) # 输出:14

'''
python编程实现 如下计算 
给出正整数 n,要求按如下方式构造数列:
只有一个数字 n 的数列是一个合法的数列。
在一个合法的数列的末尾加入一个正整数,但是这个正整数不能超过该数列最后一项的一半,可以得到一个新的合法数列。
一共有多少个合法的数列。两个合法数列 a, b 不同当且仅当两数列长度不同
输入一个整数 ,表示n;
输出一行一个整数,表示合法的数列个数。
样例输入6,计算得到合法数列 个数 6

输入6,计算结果应该是6, 上述程序结果是7,结果错误,请修改程序

给定一个整数n,判断满足
'''

 

posted @ 2024-04-23 11:37  freedragon  阅读(2)  评论(0编辑  收藏  举报