第十四届蓝桥杯集训——练习解题阶段(无序阶段)-基础练习 圆的面积

举报
红目香薰 发表于 2023/02/15 01:38:12 2023/02/15
【摘要】 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-基础练习 圆的面积 前言 基础练习 圆的面积 C语言 C++语言 Java语言 Python语言 总结

 编辑

第十四届蓝桥杯集训——练习解题阶段(无序阶段)-基础练习 圆的面积


目录

第十四届蓝桥杯集训——练习解题阶段(无序阶段)-基础练习 圆的面积

前言

基础练习 圆的面积

C语言

C++语言

Java语言

Python语言

总结



前言

        最近的一些文章都可能会很碎,写到哪里是哪里,过一阵子会具体的整理一遍,这里其它的类型题先往后排一排,因为蓝桥最后考的也就是对题目逻辑的理解能力,也就是dp分析能力了,所以就主要目标定在这里,最近的题目会很散,很多,基本上都是网罗全网的一些dp练习题进行二次训练,准备比赛的学生底子薄的先不建议看啊,当然,脑子快的例外,可以直接跳过之前的一切直接来看即可,只需要你在高中的时候数学成绩还可以那就没啥问题,其实,dp就是规律总结,我们只需要推导出对应题目的数学规律就可以直接操作,可能是一维数组,也可能是二维数组,总体来看二维数组的较多,但是如果能降为的话建议降为,因为如果降为起来你看看时间复杂度就知道咋回事了,那么在这里祝大家能无序的各种看明白,争取能帮助到大家。


基础练习 圆的面积

资源限制

内存限制:256.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s

问题描述

给定圆的半径r,求圆的面积。

输入格式

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

输出格式

输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。

说明:在本题中,输入是一个整数,但是输出是一个实数。

对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。

实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。

样例输入

4

样例输出

50.2654825

数据规模与约定

1 <= r <= 10000

提示

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

题解:这个题目考核的是我们对于高精度浮点数的计算方式,但是Python语言中就没有这个东西,故而我们用Python语言很明显的就天生占优势呢。

C语言

只需要根据公式写就行,对于浮点数的小数点我们做四舍五入计算就OK、

#include <stdio.h>
#include <math.h>

int main()
{
    int r;
    double s, PI;
    scanf("%d", &r);
    PI = atan(1.0) * 4;
    s = PI * r * r;
    printf("%.7lf", s);
    return 0;
}

C++语言

操作上几乎没有任何变化,毕竟是C的增强版本而已,又不是飞跃。

#include <stdio.h>
#include <math.h>
int main()
{
    int r;
    double s, PI;
    scanf("%d", &r);
    PI = atan(1.0) * 4;
    s = PI * r * r;
    printf("%.7lf", s);
    return 0;
}

Java语言

Java语言为了做浮点数问题不出错故而只能选用BigDecimal来处理。

import java.math.BigDecimal;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String n = sc.next();
		sc.close();
		BigDecimal bg = new BigDecimal(n);
		BigDecimal value = bg.multiply(bg.multiply(new BigDecimal(Math.PI))).setScale(7, BigDecimal.ROUND_HALF_UP);
		System.out.println(value);
	}
}

Python语言

其实使用Python语言解决这个问题就跟扛着东风打小鸟一样。so easy。

import math
r=float(input())
print('{:.7f}'.format(3.14159265358979323*r*r))

总结

浮点数运算的时候经常会出现计算错误,出现一堆零或者一堆九的情况,其实很烦,我们需要根据不同语言的不同特性来解决这个问题,记住,我们是知识的搬运工,不是知识的创造者,如果遇到不会的地方一定要大胆的去搜索,去归纳自己的知识体系


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。