zoukankan      html  css  js  c++  java
  • 循环附加练习3

    1、猴子吃桃问题。猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上再想吃时,就只剩下一个桃子了。求第一天共摘多少个桃子?

    主要代码:

                int x = 1;
                for (int i = 10; i > 1; i--)
                {
                    x = (x + 1) * 2;
                }
                Console.WriteLine("第一天摘了{0}个桃子。", x);
                Console.ReadLine();

    结果:

    2、用迭代法求。求平方根的迭代公式为。要求前后两次求出的x的差的绝对值不能超过10-5

    主要代码:

                Console.Write("请输入:");
                double a = double.Parse(Console.ReadLine());
                double x0 = a / 2;
                double x1 = (x0 + (a / x0)) / 2;
                for (; Math.Abs(x1 - x0) >= 1e-5; )
                {
                    x0 = x1;
                    x1 = (x0 + (a / x0)) / 2;
                }
                Console.WriteLine(x1);
                Console.ReadLine();

    结果:

    3、用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。

    主要代码:

                double x0 = 0;
                double x1 = 1.5;
                for (; Math.Abs(x1 - x0) >= 1e-5; )
                {
                    x0 = x1;
                    x1 = x0 - ((2 * x0 * x0 * x0 - 4 * x0 * x0 + 3 * x0 - 6) / (6 * x0 * x0 - 8 * x0 + 3));
                }
                Console.WriteLine(x1);
                Console.ReadLine();

    结果:

    4、用二分法求上题方程2x3-4x2+3x-6=0在(-10,10)之间的根。

    主要代码:

                while (true)
                {
                    Console.Write("请输入x1=:");
                    double x1 = double.Parse(Console.ReadLine());
                    Console.Write("请输入x2=:");
                    double x2 = double.Parse(Console.ReadLine());
                    double x0 = 0;
                    double fx0 = 2 * x0 * x0 * x0 - 4 * x0 * x0 + 3 * x0 - 6;
                    double fx1 = 2 * x1 * x1 * x1 - 4 * x1 * x1 + 3 * x1 - 6;
                    double fx2 = 2 * x2 * x2 * x2 - 4 * x2 * x2 + 3 * x2 - 6;
                    if (fx1 * fx2 < 0)
                    {
                        for (; Math.Abs(fx0) >= 1e-5; )
                        {
                            x0 = (x1 + x2) / 2;
                            fx0 = 2 * x0 * x0 * x0 - 4 * x0 * x0 + 3 * x0 - 6;
                            if (fx0 * fx1 < 0)
                            {
                                x2 = x0;
                                fx2 = fx0;
                            }
                            else
                            {
                                x1 = x0;
                                fx1 = fx0;
                            }
                        }
                    }
                    Console.WriteLine(x0);
                }
                Console.ReadLine();

    结果:

  • 相关阅读:
    git连接远程GitHub仓库详细总结 for HTTPS协议
    软工课程总结&小黄衫获奖感言
    Yum项目上线实战(网站运维)
    MySQL基础
    Shell基础
    Linux网络基础
    Linux的权限管理操作
    linux自有服务(2)
    Linux自有服务
    Linux基本指令
  • 原文地址:https://www.cnblogs.com/bosamvs/p/5465665.html
Copyright © 2011-2022 走看看