每日一练--(陶陶摘苹果)(n边形划分)

简介: 每日一练--(陶陶摘苹果)(n边形划分)

题目名称陶陶摘苹果  

时间限制:1000ms内存限制:256M

题目描述

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有一个 30 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知 10 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。


输入描述:


输入包括两行数据。第一行包含 10 个 100 到 200 之间(包括 100 和 200 )的整数(以厘米为单位)分别表示 10 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个 100 到 120 之间(包含 100 和 120 )的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。


输出描述:


输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。


示例


输入100 200 150 140 129 134 167 198 200 111 110


输出 5


解题思路:


通过阅读题目,我们知道,简而言之就是比较一个数和数组里面的数比较大小。这里,数组就要用到for (int i = 0; i < 10; i++),我们知道arr[i]表示数组里面的数,然后我们用result自增就可以了。


数组(Array)是一种用来存储同一种类型的集合,是一种有序的线性结构表。并且数组元素的地址是连续的。


数组最大的优点就是支持随机访问,当想访问数组的某个数时,只需要找到数组的对应下标就可以直接找到该数组对应元素。但是数组也有相应的缺点,那就是数组的元素个数和数组空间大小在创建时就已经被固定死了,如果数组的空间没有使用完也会造成空间浪费,并且因为数组的地址是连续的,这本应该是一个优点的,但是这导致数组在进行删除或增加元素时需要O(n)才能完成。


数组的下标


数组下标是从0开始的,假设,访问arr[5]元素时,访问的是数组的第6个元素,访问arr[0]时,访问的是数组的第一个元素。


今天我们主要了解一下一维数组就可以了,二维数组下次碰到了再说。


一维数组是常见的数组,创建方法是:数据类型 + 数组名 [ 元素个数 ];


1


int arr[10];


在C99的标准之前,当数组在创建时,方括号内的数组元素个数只能是常量,使用的常量也必须是真正意义上的常量,比如用const修饰的变量有了常属性,但不是真正意义的常量,而由define定义的常量可以用来做数组元素个数。而C99之后数字方括号内的元素可以使用变量,而使用变量的做数组元素个数的数组,叫做变长数组。


#include <stdio.h>
int solution(int m, int arr[10]){
    int result=0;
    for (int i = 0; i < 10; i++)
    {
        if (arr[i]<=m+30)
        {
            result++;
        }
    }
    return result;
}
int main() {
    int arr[10];
    for (int i = 0; i < 10; i++)
    {
        scanf("%d", &arr[i]);
    }
    int m;
    scanf("%d", &m);
    int result = solution(m, arr);
    printf("%d", result);
    return 0;
}

题目名称:n边形划分

时间限制:1000ms内存限制:256M

题目描述

已知存在n多边形,n为奇数。 连接多边形所有对角线。 能形成多少区域。


输入描述:

给定整数n。(1<=n<=1e9)


输出描述:

输出区域数,对1e9+7取模


示例

输入5

输出11


代码如下,在本地运行没有问题,不晓得为什么通过不了编译。如果大家有更好的可以在评论区留下你的回答。

#include <stdio.h>
int solution(int m){
    int result;
if (m%2==0)
    result=0;
else result=((m-1)*(m-2)*(m*m-3*m+12))/24;// TODO: 请在此编写代码
    return result;
}
int main() {
    int m;
    scanf("%d", &m);
    int result = solution(m);
    printf("%d", result);
    return 0;
}

在这里我在放一个python的解法。

n=input();
n=eval(n);
n=n*n*n*n-6*n*n*n+23*n*n-42*n+24;
n=n//24;
print(n);

其实,这个和编程题联系不大,有点想奥数的感觉。


相关文章
|
2月前
|
机器学习/深度学习 移动开发 Python
【10月更文挑战第11天】「Mac上学Python 22」小学奥数篇8 - 排列组合计算
本篇将通过 Python 和 Cangjie 双语讲解如何计算排列与组合。这道题目旨在让学生学会使用排列组合公式解决实际问题,并加深对数学知识和编程逻辑的理解。
66 4
|
2月前
|
数据可视化 Python
【10月更文挑战第12天】「Mac上学Python 23」小学奥数篇9 - 基础概率计算
本篇将通过 Python 和 Cangjie 双语实现基础概率的计算,帮助学生学习如何解决简单的概率问题,并培养逻辑推理和编程思维。
54 1
|
2月前
|
Python
【10月更文挑战第8天】「Mac上学Python 16」小学奥数篇2 - 分糖果问题
本篇将通过 Python 和 Cangjie 双语解决一个经典的数学问题:如何将糖果平分给小朋友。这道题目将帮助初学者通过编程理解循环与条件判断的结合使用。
88 2
|
4月前
|
JSON 自然语言处理 数据挖掘
苹果12不如十三香?背后真相让100000网友点了赞!
苹果12不如十三香?背后真相让100000网友点了赞!
38 1
苹果12不如十三香?背后真相让100000网友点了赞!
|
7月前
|
数据可视化 Go vr&ar
JCR一区7.4分|教科书般网药四件套+实验验证,廉颇老矣尚能饭否
该文章是一篇发表在《Journal of Translational Medicine》上的研究,探讨了白藜芦醇治疗糖尿病肾病(DKD)的机制。通过网络药理学、分子对接和实验验证,研究发现白藜芦醇可能通过作用于PPARA、SHBG、AKR1B1、PPARG、IGF1R、MMP9、AKT1和INSR等靶点影响DKD。分子对接和细胞实验进一步证实了这些发现,为白藜芦醇在DKD治疗中的应用提供了理论支持。
79 0
|
消息中间件 存储 程序员
计算机操作系统(慕课版)第二章课后题答案
计算机操作系统(慕课版)第二章课后题答案
|
程序员
L1-038 新世界 (5 分)
L1-038 新世界 (5 分)
93 0
团体程序设计天梯赛-练习集 - L2-028 秀恩爱分得快(25 分)
团体程序设计天梯赛-练习集 - L2-028 秀恩爱分得快(25 分)
261 0
团体程序设计天梯赛-练习集 - L1-049. 天梯赛座位分配(20 分)
团体程序设计天梯赛-练习集 - L1-049. 天梯赛座位分配(20 分)
179 0