注册 登录
编程论坛 数据结构与算法

求纯手工计算方法,我计算不下去了。

yuma 发布于 2021-11-07 20:27, 2884 次点击
只有本站会员才能查看附件,请 登录
6 回复
#2
diycai2021-11-11 16:49
程序代码:
#include <stdio.h>
void main()
{
    int a, n;//计算a的开n次方
    double low, high, middle, x;

    scanf("%d%d", &a, &n);

    int i, j, tmp;

    for (i=1; i<a; i++)
    {
        tmp = 1;
        for (j=0; j<n; j++)
        {
            tmp *= i;
        }
        if (tmp >= a)
        {
            break;
        }
    }

    low = i - 1;
    high = i;

    while (1)
    {
        middle = (low+high)/2;

        x = 1;
        for (j=0; j<n; j++)
        {
            x *= middle;
        }
        if (x - a < 0.0001 && x - a > -0.0001)
        {
            printf("%lf\n", middle);
            break;
        }
        if (x > a)
        {
            high = middle;
        }
        else
        {
            low = middle;
        }
    }
}

没优化,但是能用。
#3
yuma2021-11-16 11:53
纯手工计算,编程计算谁不会。
#4
diycai2021-11-16 12:53
以下是引用yuma在2021-11-16 11:53:53的发言:

纯手工计算,编程计算谁不会。


请问纯手工计算,与编程有何本质的区别? 难道编程计算不是从手工计算转化而来的吗,
只是人类不喜欢 大量重复的劳动,所以让计算机替代而已。
我很难理解,这个题目不靠库函数能写出代码的人,手工计算不出来结果(不限定时间)。
#5
yuma2021-11-17 19:36
以下是引用diycai在2021-11-16 12:53:11的发言:



请问纯手工计算,与编程有何本质的区别? 难道编程计算不是从手工计算转化而来的吗,
只是人类不喜欢 大量重复的劳动,所以让计算机替代而已。
我很难理解,这个题目不靠库函数能写出代码的人,手工计算不出来结果(不限定时间)。



编程计算我会,但我不知手工计算方法。
#6
mrexcel2022-12-17 21:05
牛顿迭代:
x(1)=1
x(n+1)=5x(n)/6+7/(6x(n)^5)
#7
pvm20002022-12-25 08:30
2楼就是纯手工计算的计算机编程化
1