标题:无奈,看似没有任何技术含量,就是for嵌套循环,想得出结果太难
只看楼主
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
结帖率:97.22%
 问题点数:0 回复次数:9 
无奈,看似没有任何技术含量,就是for嵌套循环,想得出结果太难
标题很简单求 a,b,c,b四个数值。。。


之前有个百钱买百鸡的例子,
百钱买百鸡的例子是三个变量。
这个题目是四个变量。。。。
程序太简单了。。。。。


没有任何技术含量,想得结果太难了。
你会骂电脑这么笨,太没用了。
电脑会不会被气死,如果电脑会说话,它肯定要骂你让它运行这样的程序。。。。
电脑计算出结果的时间,人工完全可以完成100遍这种题目的运算。。。。




这样的人工计算,应该如何写成,程序代码。。。
各种运算结合律,如何写成程序代码。
程序执行时,程序如何选择哪一种运算结合律。。。。。
程序,需要有“思维”能力。。。。。
搜索更多相关主题的帖子: for 循环 技术 结果 运算 
2023-03-14 21:14
pvm2000
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:24
帖 子:159
专家分:256
注 册:2022-12-22
得分:0 
电脑永远不笨的
2023-03-15 00:57
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
由题图知,步长0.1就够用了,肯定不慢。
工科生一定要有工程意识 over all ,精度不是越高越好的。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-03-15 19:01
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 楼主 追梦人zmrghy
解方程 c 还是不行的

DO IT YOURSELF !
2023-03-16 15:07
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 3楼 forever74
知道结果后,精度0.1就够了。。。。
不知道结果的时候,如何确定精度。。。。

我还考虑过会不会有负数,最后发现,a,b,d必须相同符号的。

不知道结果的时候,如何判断。。。
2023-03-16 20:15
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
步长1试试
不行
步长0.1试试
行了
所以这就是结论
还不行
步长0.01试试
放在一起都相对较快的

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-03-17 14:13
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
这种东西初学者是不需要考虑解决通用问题的。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-03-17 14:14
s96281
Rank: 2
等 级:论坛游民
威 望:3
帖 子:8
专家分:37
注 册:2022-12-8
得分:0 
你解題的思路錯啦,直接爆破可不是甚麼好習慣
程序代码:
#include <stdio.h>

char reversion(char signal) {
    if (signal == '*') {
        return '/';
    } else if (signal == '/') {
        return '*';
    } else if (signal == '+') {
        return '-';
    } else if (signal == '-') {
        return '+';
    }
}

void get_equation(int A, int B, int C, int D, char x, char y, char z, char w, char* equ) {
    x = reversion(x);
    y = reversion(y);
    z = reversion(z);
    w = reversion(w);
    sprintf(equ,"a=%d%c(%d%c(%d%c(%d%ca)))",D,w,B,z,C,y,A,x);
}

float solve(int step) {
    float temp;
    for (float x = -9; x < 9*step; x++) {
        float ttemp;
        ttemp = (8*step-(5*step+(9*x/21)) - x);
        if (ttemp == 0) {
            return x/step;
        }
        if (x > 1 && (ttemp * temp < 0)) {
            break;
        }
        temp = ttemp;
    }
    solve(step*10);
}

float cal(float x, char opr, float y) {
    if (opr == '*') {
        return x*y;
    } else if (opr == '/') {
        return x/y;
    } else if (opr == '+') {
        return x+y;
    } else if (opr == '-') {
        return x-y;
    }
}


int main() {
    char equ[100] = {0};
    char x = '*';
    char y = '*';
    char z = '+';
    char w = '-';
    int A = 21;
    int B = 5;
    int C = 9;
    int D = 8;
    float a, b, c, d;
    get_equation(A, B, C, D, x, y, z, w, equ);
    printf("%s\n",equ);
    a = solve(1);
    b = cal(A, reversion(x), a);
    d = cal(C, reversion(y), b);
    c = cal(B, reversion(z), d);
    printf("a=%f\n", a);
    printf("b=%f\n", b);
    printf("c=%f\n", c);
    printf("d=%f\n", d);
    return 0;
}

代數解很多時候其實不難用
2023-03-17 22:05
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 7楼 forever74
修改了一下,秒出结果
2023-03-18 00:53
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 8楼 s96281
这么麻烦呀。。。
看,我修改后的。
秒出结果
2023-03-18 00:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511542-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.110305 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved