PAT基础编程题目-7-15 计算圆周率

PAT基础编程题目-7-15 计算圆周率

题目详情

题目地址:https://pintia.cn/problem-sets/14/problems/795

解答

C语言版

#include<stdio.h>
int main() {
   
	float threshold, pi = 1, end =1;
	double numerator = 1, denominator = 1;  //分子,分母 长整型会溢出
	scanf("%f", &threshold);
	for (int i = 1; end >= threshold; i++)
	{
   
		numerator = numerator * i;
		denominator = denominator * (2 * i + 1);
		end = numerator / (denominator * 1.0);
		pi = pi + end;
	}
	printf("%.6f", pi * 2);
	return 0;
}

C++版

#include<iostream>
#include<iomanip>
using namespace std;
int main() {
   
	float threshold, pi = 1, end = 1;
	double numerator = 1, denominator = 1;  //分子,分母 长整型会溢出
	cin >> threshold;
	for (int i = 1; end >= threshold; i++)
	{
   
		numerator = numerator * i;
		denominator = denominator * (2 * i + 1);
		end = numerator / (denominator * 1.0);
		pi = pi + end;
	}
	cout << fixed << setprecision(6) << pi * 2;
	return 0;
}

Java版

import java.text.DecimalFormat;
import java.util.Scanner;
public class Main{
   

	public static void main(String[] args) {
   
		float threshold = 0, pi = 1, end = 1;
		double numerator = 1, denominator = 1;  //分子,分母 长整型会溢出
		Scanner scanner = new Scanner(System.in);
		if (scanner.hasNext()) {
   
			threshold = scanner.nextFloat();
		}
		scanner.close();
		for (int i = 1; end >= threshold; i++)
		{
   
			numerator = numerator * i;
			denominator = denominator * (2 * i + 1);
			end = (float) (numerator / (denominator * 1.0));
			pi = pi + end;
		}
		DecimalFormat decimalFormat = new DecimalFormat("#.000000");
		System.out.println(decimalFormat.format(pi*2));

	}

}

创作不易,喜欢的话加个关注点个赞,谢谢谢谢谢谢!

全部评论

相关推荐

点赞 评论 收藏
分享
09-13 10:30
门头沟学院 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-20 19:41
那一天的Java_J...:简历完全流水账,学生思维很严重,还有很大的优化空间,可以多看看牛客的简历。
点赞 评论 收藏
分享
程序员牛肉:1.大头肯定是院校问题,这个没啥说的。 2.虽然有实习,但是实习的内容太水了,在公司待了七个月的时间,看起来就只做了jwt和接入redis。爬取新闻,数据导入。这几个需求值得你做七个月吗?这不就是三四个月的工作量吗?我要是面试官的话真心会认为你能力不太行。所以既然有实习了,一定要好好写,像是Swagger这种东西是真没必要写上去,就拉一个包的事情。 3.我个人觉得话,在校生不要把自己当社招看,除非你的项目是特别牛逼,特别有名的含金量,否则不要写这种密密麻麻的一串子工作职责。你的项目只有一个作用,就是供面试官从中来抽取八股对你进行拷打。 但是你现在这个看不来什么技术点,可以改一下,详细表述一下你用什么技术实现了什么功能,在实现这个功能的过程中,你解决了什么难题。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务