- 一、qllwt.c
- 二、Main.java(BigInteger)
- 三、 运行结果示例
- 2.1 C语言版(0.01增量)
- 2.2 JAVA版(0.01增量)
【TDTX】
【C99】
【编译与运行环境】64位Windows *** 作系统,TDM-gcc 4.9.2 64bit编译。
【问题描述】x+y+z+w=7.11且xyzw=7.11,求解x,y,z,w的满足解的组合
【思路】本题解决思路和百钱百鸡问题解法一样,类比书写代码即可。
【代码版本】1.C语言版(增量0.01);2. JAVA语言采用 BigInteger版(增量0.01)
【注】 整形/整形 只会保留整数部分,因此转换为整数相等比较,两个等式各自扩大100倍。
相在当于x、y、z、w的增量为0.01状态下,求得的解。
即原来等式转化为:X+Y+Z+W=711且XYZW=711000000。
切勿使用XYZW/1000000 == 711去比较,因为会将得到的结果的整数部分和711比较,导致解不准确。 一、qllwt.c
#includeint main() { int x,y,z,w; long num = 0; int k = 0; for(x = 1;x < 711;x++) { for(y = 1;y < 711 - x;y++) { for(z = 1;z < 711 - x - y;z++) { w = 711 - x - y - z; num++; if((w*x*y*z) == 711000000) { k++; printf("第%2d:(%f,%f,%f,%f)n",k,x/(double)100,y/(double)100,z/(double)100,w/(double)100); } } } } printf("组合遍历计算次数:num = %ldn",num); return 0; }
二、Main.java(BigInteger)
import java.math.BigInteger; public class Main { public static void main(String[] args) { long num = 0; int k = 0; BigInteger x,y,z,w; BigInteger Soo = new BigInteger("711"); BigInteger SooM = new BigInteger("711000000"); BigInteger One = new BigInteger("1"); String sx,sy,sz,sw; for(x = new BigInteger("1");x.compareTo(Soo) == -1;x = x.add(One)) { for(y = new BigInteger("1");y.compareTo(Soo) == -1;y = y.add(One)) { for(z = new BigInteger("1");z.compareTo(Soo) == -1;z = z.add(One)) { w = Soo.subtract(x).subtract(y).subtract(z); num++; if((w.multiply(x).multiply(y).multiply(z)).compareTo(SooM) == 0) { k++; sx = ""+x; sy = ""+y; sz = ""+z; sw = ""+w; double xx = Double.parseDouble(sx); double yy = Double.parseDouble(sy); double zz = Double.parseDouble(sz); double ww = Double.parseDouble(sw); System.out.printf("第%2d:(%f,%f,%f,%f)n",k,xx/100,yy/100,zz/100,ww/100); } } } } System.out.printf("组合遍历计算次数:num = %dn",num); } }三、 运行结果示例 2.1 C语言版(0.01增量) 2.2 JAVA版(0.01增量)
------------------------------------------------------第十三次发项目类文章有点激动啊!-----------------------------------------------------
-----------------------------------------------------【C语言—微项目—自编练习】----------------------------------------------------------
----------------------------------------------------------------【TDTX】--------------------------------------------------------------------------
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)