密率为355/113,证明密率是15000以内的分数中表示圆周率最精确的分数,试编程证
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/21 17:27:03
![密率为355/113,证明密率是15000以内的分数中表示圆周率最精确的分数,试编程证](/uploads/image/z/3673203-51-3.jpg?t=%E5%AF%86%E7%8E%87%E4%B8%BA355%EF%BC%8F113%2C%E8%AF%81%E6%98%8E%E5%AF%86%E7%8E%87%E6%98%AF15000%E4%BB%A5%E5%86%85%E7%9A%84%E5%88%86%E6%95%B0%E4%B8%AD%E8%A1%A8%E7%A4%BA%E5%9C%86%E5%91%A8%E7%8E%87%E6%9C%80%E7%B2%BE%E7%A1%AE%E7%9A%84%E5%88%86%E6%95%B0%2C%E8%AF%95%E7%BC%96%E7%A8%8B%E8%AF%81)
密率为355/113,证明密率是15000以内的分数中表示圆周率最精确的分数,试编程证
密率为355/113,证明密率是15000以内的分数中表示圆周率最精确的分数,试编程证
密率为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}
}