赤壁铜雀台小说:请问如何只用计算式求满足如下条件的整数

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/16 05:08:15
只能用+ - * / mod 等运算符,不能用if while等过程控制语句
如何求满足如下条件的整数x呢?
1) N mod x==0 即x整除N
2) x <= MX<=N;
3) x 是满足上两个条件的最大整数。
其中 N ,MX 是已知数
最后要得到一个表达式
x=...
通过这个表达式,就可直接求出满足上面三个条件的x

#define N 10
#define MX 7
zc(int x)
{
return N%x==0?x:zc(--x);
}
dx(int x)
{

return x<=MX?(MX<=N?zc(MX):0):0;
}
main()
{
int x=1;
printf("x=%d",dx(x));

}

看不懂。。。

求值,不用IF?怎么求?哪果是做为一个条件。用运算符是可以。

但现在是要得到具体的数吧。

N是多少?MX又是多少?

M mod x==N MOD x