相鄰乘積編程
❶ 怎麼算一個數是哪相鄰兩個數的乘積
設:這個數為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代碼和計算結果。