Java 快速求解x的x次幂结果为10

admin2024-09-06  29

1.问题描述

如果x的x次幂结果为10(如图所示),你能计算出x的近似值吗?
显然,这个值是介于2和3之间的一个数字。
可以使用牛顿迭代公式进行求解,因为是逼近算法可以大大减少运算次数
Java 快速求解x的x次幂结果为10,在这里插入图片描述,第1张

		public static void main(String[] args) {
			int i = 0;
	

			
			double x1 = 2.5;
			while (true) {
				i++;
                //x^x - 10 = 0
                //这一步是牛顿迭代公式
				double x2 = x1 - (Math.pow(x1, x1) - 10) / (Math.pow(x1, x1) * (Math.log(x1) + 1));

				if (Math.abs(x2 - x1) < 0.00000001) {
					System.out.println(String.format("通过运算%d次,得到结果为%.6f",i,x2));
					break;
				}
				x1 = x2;
			}
		}

运行结果

通过运算3次,得到结果为2.506184

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!