English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請問...

用c++來寫開根號的程式

不用 sqrt( ) 的話可以怎麼寫???

麻煩詳細說明一下

2007-10-28 09:28:31 · 2 個解答 · 發問者 Anonymous in 電腦與網際網路 程式設計

我補充一下
開出的根號值只需要整數
不需要算到小數點以後的數
例:根號8=2
根號10=3......

2007-10-28 17:40:04 · update #1

2 個解答

以下是完整的程式碼:

#include
using namespace std;

double SQ(double ,int );

void main(int argc, char *argv[])
{
int Q=2;
double x=0;

cout<<"請輸入一個整數:";
cin>>x;

if(x>=0)
cout<<"結果為:"< else
cout<<"結果為:"< }

double SQ(double n,int Q){

int M=0, L=0, I=0, q=0;
double s=0, s2=0, sold=0, w=10;

if(n < 0){
I=1;
n=-n;
}

while(1){
sold=s;
s2=s;

for(q=Q;q>1;q--)
s2*=s;

if( (s2>=(n-0.000001)) && (s2<=(n+0.000001)) )
break;

if(s2>n){
s=sold;
M=1;
if(L==0)
s-=w;
}
else{
L=1;
if(M==0)
s+=w;
}

if(M==1 && L==1){
M=0;
L=0;
w/=10;
s=s+w*5;
}
}
return(s);
}

2007-10-28 11:14:37 · answer #1 · answered by 小白 5 · 0 0

#include
#include
#include
#include
using namespace std;
double sqt(double x)
{
return exp(log(x)/2);
}
int main(int argc, char** argv){
//=====START=====//
double x;
cout<<"Input a number: ",cin>>x;
cout< cout<<"SQRT("< //=====END=====//
system("PAUSE");
return 0;
}

2007-10-28 13:16:39 · answer #2 · answered by Big_John-tw 7 · 0 0

fedest.com, questions and answers