相邻乘积编程
❶ 怎么算一个数是哪相邻两个数的乘积
设:这个数为X,
则:两个相邻数分别为:﹙X-1﹚和﹙X+1﹚。
即:在自然数中一个中间数和它的前一个或后一个数的乘积就是两个相邻数的乘积。
如:与3相邻的两个数的乘积是:2×3=6
和
3×4=12
。
❷ 用Java编程实现矩阵连续相乘问题
代码如下:
//按照步骤查找矩阵相乘结果,i=1表示第一次结果,i=2表示第二次结果,以此类推,如果i不合法则返回null
private static int[][] getMatrixsMultiByStep(int i, int[][]... matrixs) {
Map<String, int[][]> result = getMatrixsMultiResult(matrixs);
if(i<=0 || i>result.size()) {
return null;
}
return result.get("" + i);
}
//对个矩阵相乘,临时结果和最终结果保存在Map中
private static Map<String, int[][]> getMatrixsMultiResult(int[][]... matrixs) {
Map<String, int[][]> result = new HashMap<String, int[][]>();
int[][] param = matrixs[0];
for(int i=1; i<matrixs.length; i++) {
int[][] matrix = matrixs[i];
param = getMatrixMultiResult(param, matrix);
if(param == null) {
return null;
}
result.put("" + i, param);
}
return result;
}
//两个矩阵相乘,结果为一个矩阵,返回值为空表示两个矩阵不能相乘
private static int[][] getMatrixMultiResult(int[][] matrix1, int[][] matrix2) {
if(matrix2.length <= 0) {
return matrix1;
}
if(matrix1.length<=0 || matrix1[0].length!=matrix2.length) {
return null;
}
int[][] result = new int[matrix1.length][matrix2[0].length];
for(int i=0; i<matrix1.length; i++) {
for(int j=0; j<matrix2[0].length; j++) {
result[i][j] = 0;
for(int k=0; k<matrix1[0].length; k++) {
result[i][j] += matrix1[i][k]*matrix2[k][j];
}
}
}
return result;
}
测试程序:
public static void main(String[] args) {
int[][] p1 = {{1, 2, 3}, {3, 4, 5}, {4, 5, 6}};
int[][] p2 = {{1, 2, 3}, {3, 4, 5}, {4, 5, 6}};
int[][] p3 = {{1, 2, 3}, {3, 4, 5}, {4, 5, 6}};
int[][] p4 = {{1, 2, 3}, {3, 4, 5}, {4, 5, 6}};
int[][] value = getMatrixsMultiByStep(2, p1, p2, p3, p4);
if(value != null) {
for(int i=0; i<value.length; i++) {
for(int j=0; j<value[0].length; j++) {
System.out.print(value[i][j] + " ");
}
System.out.println();
}
} else {
System.out.println("矩阵无法相乘!");
}
}
输出结果:
218 293 368
412 553 694
509 683 857
PS:JDK要5.0以上,二维数组模拟矩阵,兼容普通矩阵相乘哦
❸ 编写程序,找出乘积为399的两个相邻奇数并输出
Dim a As Long
Dim b As Long
Private Sub Command1_Click()
a = 1
b = 1
Do While b < 399
a = a + 2
b = a + 2
If a * b = 399 Then
Print a,b
End If
Loop
End Sub
❹ 编写程序,求乘积为399的两个相邻奇数。
用c语言编写如下:
int main()
{
int i,j;
i=0,j=0;
do
{
j=i*(i+1);
if j=399
goto k;
i++;}
while(i<=0)
k: printf("两数分别是:",i,i+1);
reture 0;
}
之后把上面的程序复制到运行软件上运行就可以了
❺ 用c语言编写程序
我晕楼上的早就超出int范围了。1楼的刚学吧,输入都没有,叫什么程序。
#include<process.h>
#include<stdio.h>
#include<math.h>
#include<Windows.h>
voidmain(){
doubles,i,n;inta;
printf("请输入: ");
scanf("%lf",&n);
i=n*(n+1)*(n+2)*(n+3);
printf("s=%d",i);
a=s=sqrt(i);
printf("sqrt(%lf)=%5.6lf",i,s);
if(a<s<a+1){//s为小数
s=sqrt(++i);
printf("%lf+1=%lf=%lf*%lf 结论正确 ",i-1,i,s,s);
system("pause");
exit(0);
}printf("该自然数是完全平方数 ");
system("pause");
exit(0);
}
❻ 小学数学题 :三个相邻的自然数乘积是2184,这三个自然数分别是什么
对于三个连续的自然数,可用解方程的方法,也可用如下的近似方法来分析:
设 x³ = 2184
x ≈ 13
经验算可知,这三个数是
12,13,14。
❼ 哪三个相邻数的乘积是12180
这个题貌似没有答案我刚才编程遍历了1到12180之间所有的数没有一个整数与他+1和他+2的乘积等于12180的
❽ 如何从一个数推导出相邻2数的乘积
设这个数是a,假设大于0
则从根号a开始倒数到1,对每个数判断是否整除a,最先整除的数就是结果了
❾ 相邻两个数乘积怎么算
如果确定是整数的话,将其开方。
如1892,开方得到43.5,那显然就是43,44了。
当然了,没有计算器的话,有两种方法进行简单开方。
一个是,大致估计一下,如,30,40等,一个个试算。
另外一种,进行因式分解,1982=2*2*11*45,一下子就看出来了。
特别的,有笔算开根号的方法,没必要掌握。
❿ 三个相邻的偶数的乘积是一个六位数一囗囗囗囗二这三个偶数是多少
编程进行枚举试算。结果是:54,56,58。
下面是fortran代码和计算结果。