注册 登录
编程论坛 Windows论坛

求大侠帮忙做个window的程序。。。不胜感激,以身相许都可以啊~~~

wolongxxk 发布于 2012-12-25 18:08, 131 次点击
我是新手,非IT行业,想寻求IT达人帮忙解决问题。
我目前由一个方程式,想编写一个window的程序。要求如下
方程式是这样的:
M(relative abundance)≈605+102a+87b+122.5c+180.5d
我理想的程序是这样的:输入一个M值(范围在700-2000之间)
要求程序给预测abcd四个值,abcd均为正整数,而且范围一般在(0-12之间)

举个例子,假如我输入M=1000,那么程序帮我预测abcd这4个值的可能性,有哪几种情况
四个值带入上述方程式的时候,得到M±1,即 1000±1的范围。

拜托 了~不胜感激
11 回复
#2
yuccn2012-12-29 19:15
以身相许~~你牛逼啊
#3
青春无限2013-01-01 12:47
看看
#4
快乐起航20202013-01-02 12:32
#5
WorldFly2013-01-03 10:30
这个牛!还以身相许!
#6
zklhp2013-01-03 14:29
这个叫啥 多元回归?
#7
oneuse2013-01-08 05:52
        完全不会。
#8
yg1302013-01-29 22:51
#9
SKYYYF2013-01-30 19:09
以身相许?先说你是男的还是女的,上照片!
#10
luzhlon2013-02-13 16:01
用个for循环不就ok了吗
#11
cddazao2013-02-14 15:17
#include"stdio.h"
int main()
{
    int a,b,c,d,M;
    printf("输入一个M值(700≤m≤2000):");
    scanf("%d",&M);
    for(a=1;a<=12;a++)
    for(b=1;b<=12;b++)
    for(c=1;c<=12;c++)
    for(d=1;d<=12;d++)
        if((605+102*a+87*b+122.5*c+108.5*d)<=(M+1)&&(605+102*a+87*b+122.5*c+108.5*d)>=(M-1))
        printf("a=%d b=%d c=%d d=%d\n",a,b,c,d);
    if(a==13)
        printf("没有更多满足条件的a,b,c,d");
}
只有本站会员才能查看附件,请 登录

以身相许就不必了,给爷笑个就成

[ 本帖最后由 cddazao 于 2013-2-14 15:19 编辑 ]
#12
xdsnet2013-02-27 21:59
楼主的问题描述其实很不准确,可能会影响到结果范围
如:
我理想的程序是这样的:输入一个M值(范围在700-2000之间)包括700或者2000不?
要求程序给预测abcd四个值,abcd均为正整数【是正整数还是非负整数?】,而且范围一般在(0-12之间)包括0或者12不?
因为你的公式是含有小数点,及有非负整数,如果直接套用公式,会存在浮点数比较问题,建议在公式两边(包括后面的不等式)同时乘2,或者同时乘10形成整数计算,这样结果更准确:即
给定M,求a、b、c、d,满足
2M-2<= 1210+204a+174b+245c+361d <= 2M+2
700<=M<=2000
a\b\c\d为小于12的非负整数(含12)
这样再采用cddazao的代码进行遍历匹配(因为数据可能较小,直接用遍历比较方便,算法实现简单)
1