密率为355/113,证明密率是15000以内的分数中表示圆周率最精确的分数,试编程证
来源:学生作业学帮网 编辑:学帮网 时间:2024/06/06 12:45:42
密率为355/113,证明密率是15000以内的分数中表示圆周率最精确的分数,试编程证
不知道你要用那种语言啊?我用的java测试通过了
public class Test{
static final double PI=3.1415926535897;//常量圆周率
static final double MI=355.0/113.0;//常量密率
public static boolean compare(){//定义比较函数
boolean flag=true;
for(int i=0;i<=15000;i++)//15000以内
for(int j=1;j<=i/3.0;j++)//i/3.0是排除所有小于3的分数参加比较,可以提高效率
if(Math.abs(i/j-PI)<=(MI-PI)){//Math.abs是取绝对值
System.out.print(i+"/"+j+"\t");//如果有更精确的会在此输出
flag=false;
}
return flag;//返回密率是否为最精确的数
}
public static void main(String[] args){//主函数
if(compare())
System.out.print("15000以内的不存在表示圆周率比密率精确的分数\n");
else
System.out.print("以上分数表示圆周率比密率精确");
\x05}
}