我估計需要你先手動操作。
成都創(chuàng)新互聯(lián)公司長期為近1000家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為馬邊彝族企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站制作,馬邊彝族網(wǎng)站改版等技術服務。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
雖然我不知道dp是啥但是我覺得這個可以化成n=XXX的代數(shù)式。
然后調(diào)用java的算術和Math里面的log之類的把結(jié)果算出來。
假如你是希望寫個java程序分析你的題目然后自己給出n=XXX的代數(shù)式然后再把它算出來的話,那就要比較麻煩了
-----------------
附,如果dp跟Dp是一樣的當做一個未知量的話那我可以幫你手動算算。
20=2*(1-r)2,那么1-r=√10,然后帶入第三個式子得出n=log√10(1.25)
public class t{
public static void main(String[] args){
System.out.println(Math.log(1.25)/Math.log(Math.sqrt(10)));
}
}
然后算出來等于0.1938200260161128
可以這樣寫,代碼如下
#include "pch.h"
#include iomanip
#include iostream
# include fstream
#include iomanip
#include math.h
void Chasing_method(double **a, double *b, double *xx, int N_num);
using namespace std;
//*****************************
//追趕法求解AX=B矩陣
//*****************************
void Chasing_method(double **a, double *b, double *xx, int N_num)
{
int i, j, k;
double *gamma = new double[N_num]();
double *alpha = new double[N_num]();
double *beta = new double[N_num]();
double *y = new double[N_num]();
alpha[0] = a[0][0];
beta[0] = a[1][0] / alpha[0]; y[0] = b[0] / alpha[0];
for (i = 1; i N_num; i++)
{
gamma[i] = a[i - 1][i];
alpha[i] = a[i][i] - gamma[i] * beta[i - 1];
if (i N_num - 1)
{
beta[i] = a[i + 1][i] / alpha[i];
}
y[i] = (b[i] - gamma[i] * y[i - 1]) / alpha[i];
}
xx[N_num - 1] = y[N_num - 1];
for (i = N_num - 2; i = 0; i--)
{
xx[i] = y[i] - beta[i] * xx[i + 1];
}
}
int main()
{
int N_num = 4;
double **a = new double*[N_num]();
for (int i = 0; i N_num; i++)? ? ? ? ? ? //AX=B方程a[n][n]為系數(shù)矩陣
a[i] = new double[N_num]();? ? ? ? ?
double *b = new double[N_num]();? ? ? ? ? ?//AX=B方程b[n]為右側(cè)列矩陣
double *x = new double[N_num]();? ? ? ? ? ?//AX=B方程x[n]為方程解
ifstream fin("ab.txt");
for (int i=0; i N_num; i++)
{
for (int j=0; j N_num; j++)
{
fin a[i][j];? ? ? ? ? ?//讀取數(shù)
cout fixed setw(8) setprecision(4) a[i][j];
}
fin b[i];
cout fixed setw(8) setprecision(4) b[i] endl;
}
Chasing_method(a, b, x, N_num);
cout "追趕法求得方程組解為:" endl;
for (int i = 0; i N_num; i++)
{
cout"x["i"]=" fixed setw(8) setprecision(4) x[i] endl;
}
}
以下是定義一元二次方程類、封裝系數(shù)及其求根方法的示例代碼:
public class Equation {
private double a;
private double b;
private double c;
// 封裝系數(shù)
public void setA(double a) {
this.a = a;
}
public double getA() {
return a;
}
public void setB(double b) {
this.b = b;
}
public double getB() {
return b;
}
public void setC(double c) {
this.c = c;
}
public double getC() {
return c;
}
// 求根方法
public void solve() {
double delta = b * b - 4 * a * c;
if (delta 0) {
double x1 = (-b + Math.sqrt(delta)) / (2 * a);
double x2 = (-b - Math.sqrt(delta)) / (2 * a);
System.out.println("方程的兩個解分別為:" + x1 + "和" + x2);
} else if (delta == 0) {
double x = -b / (2 * a);
System.out.println("方程的解為:" + x);
} else {
System.out.println("方程無解");
}
}
}
在main()方法中定義一個一元二次方程對象并調(diào)用求根方法,可以這樣寫:
public static void main(String[] args) {
// 創(chuàng)建一個一元二次方程對象
Equation eq = new Equation();
// 設置系數(shù)
eq.setA(1);
eq.setB(2);
eq.setC(1);
// 調(diào)用求根方法
eq.solve();
}
上面的代碼會輸出:方程的解為:-1.0。
1)簡介
一元二次方程 ax2+bx+c=0 的a、b、c三個參數(shù)由用戶自行定義,通過該程序輸出該一元二次方程的根。
對于該程序需要在“應聲蟲”的基礎上進行參數(shù)的自定義,在定義完成后需要通過求根公式實現(xiàn)結(jié)果的輸出,其中Math.sqrt()為對括號的內(nèi)容進行開平方根。
2)任務代碼
關于該程序的代碼如下:
import?java.util.Scanner;//導入java.util包下的Scanner類
public?class?Test2{//類名
public?static?void?main(String[]?args)?{//程序主入口函數(shù),帶命令行參數(shù)
System.out.print("求ax^2+bx+c=0的根"+"\n");//輸出標題
Scanner?in=new?Scanner(System.in);//創(chuàng)建scanner,控制臺會一直等待輸入,直到敲回車結(jié)束
System.out.print("請輸入a的值:");//輸出“提示”
int?a=in.nextInt();//用戶可自行定義a的值
System.out.print("請輸入b的值:");//輸出“提示”
int?b=in.nextInt();//用戶可自行定義b的值
System.out.print("請輸入c的值:");//輸出“提示”
int?c=in.nextInt();//用戶可自行定義c的值
double?x1=((-b+Math.sqrt(b*b-4*a*c))/(2*a));//運用求根公式,并且Math.sqrt()為開平方根
double?x2=((-b-Math.sqrt(b*b-4*a*c))/(2*a));//運用求根公式,并且Math.sqrt()為開平方根
System.out.print("x1="+x1+"\n"+"x2="+x2);//輸出兩個根的結(jié)果
}
}
3)運行結(jié)果?
使用LICEcap進行動圖的制作,運行結(jié)果動圖如下: