编程求不定方程组 在区间[-100,100]上的整数解的个数,并打印出所有的整数解.
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/04 13:50:36
编程求不定方程组 在区间[-100,100]上的整数解的个数,并打印出所有的整数解.
3x+4y-z=32
x*y=16z
3x+4y-z=32
x*y=16z
我先补充一下,我假设x ,y,z 都在[-100,100].
由上面的式子可以推出:
z = x*y/16
3x + 4y -32 = x * y / 16
算法的空间复杂度,时间杂度度就不分析了.
另外由上面的式子可推出:x * y - 48x - 64y + 512 = 0 ,类似的不定方程的理论和求解方法见:
java的实现程序如下:
/**
* @author borqs.slieer
*/
public class Test {
final static double MAX_X_VALUE = 100;
final static double MIN_X_VALUE = -100;
final static double MAX_Y_VALUE = 100;
final static double MIN_Y_VALUE = -100;
final static double MAX_Z_VALUE = 100;
final static double MIN_Z_VALUE = -100;
public static void main(String...args){
execute();
}
/**在闭区间[-100,100]中,求解方程组3x+4y-z=32 x*y = 16z*/
public static void execute() {
double x = 0.0;
double y = 0.0;
double z = 0.0;
long count = 0;
for(double i = MIN_X_VALUE; i < MAX_X_VALUE; i++){
for(double j = MIN_Y_VALUE; j < MAX_Y_VALUE; j++){
double ij = i * j;
z = (ij) / 16 ;
if(z < MIN_Z_VALUE || z > MAX_Z_VALUE){
break;
}
if((i * j) % 16 == 0.0){
if(48* i + 64 * j - 512 == ij){
x = i;
y = j;
System.out.println("x,y,z :" + x + "," + y + "," + z);
count ++;
}
}
}
}
System.out.println("count value:" + count);
}
}
执行结果:
x,y,z :-16.0,16.0,-16.0
x,y,z :0.0,8.0,0.0
count value:2
由上面的式子可以推出:
z = x*y/16
3x + 4y -32 = x * y / 16
算法的空间复杂度,时间杂度度就不分析了.
另外由上面的式子可推出:x * y - 48x - 64y + 512 = 0 ,类似的不定方程的理论和求解方法见:
java的实现程序如下:
/**
* @author borqs.slieer
*/
public class Test {
final static double MAX_X_VALUE = 100;
final static double MIN_X_VALUE = -100;
final static double MAX_Y_VALUE = 100;
final static double MIN_Y_VALUE = -100;
final static double MAX_Z_VALUE = 100;
final static double MIN_Z_VALUE = -100;
public static void main(String...args){
execute();
}
/**在闭区间[-100,100]中,求解方程组3x+4y-z=32 x*y = 16z*/
public static void execute() {
double x = 0.0;
double y = 0.0;
double z = 0.0;
long count = 0;
for(double i = MIN_X_VALUE; i < MAX_X_VALUE; i++){
for(double j = MIN_Y_VALUE; j < MAX_Y_VALUE; j++){
double ij = i * j;
z = (ij) / 16 ;
if(z < MIN_Z_VALUE || z > MAX_Z_VALUE){
break;
}
if((i * j) % 16 == 0.0){
if(48* i + 64 * j - 512 == ij){
x = i;
y = j;
System.out.println("x,y,z :" + x + "," + y + "," + z);
count ++;
}
}
}
}
System.out.println("count value:" + count);
}
}
执行结果:
x,y,z :-16.0,16.0,-16.0
x,y,z :0.0,8.0,0.0
count value:2
c语言、编程求不定方程组 3x+4y-z=32、、x*y=16z在区间[-100,100]上的整数解的个数,并打印出所有
如何用maple求出不定方程组的整数解?
使用while循环,打印出1—100之间能被9整除的所有整数.
vb编程:求在[1~1000]区间中的所有整数中能被3整除的数的个数及能被7整除的数的个数,用循环语句;
C编程的:编写一个程序,此程序要求输入一个整数,然后打印出从输入的值到比输入的值大10的所有整数.要求在各个输入值之间用
VF编程题:求100以内所有能被3整除的整数的和,急,
c语言算法编程在100-999之间的自然数中,找出能被3整除,且至少有一位数字为5的所有整数,并计算个数
编程实现从键盘输入20个整数,统计其中正整数的个数,并计算输出所有正整数之和.
C语言题:从键盘上输入一个整数,求他的位数,并打印出每一位上的数字.
从键盘读入10个1~100之间的整数:统计小于20的整数的个数,输出结果 并求出所有小于20个整数之和,输出
求MATLAB解决多元一次方程组所有整数解的代码,
C语言编程:判断是否是素数,如果不是,则由小到大打印其所有的整数因子