| 19 | 1/1 | 返回列表 |
| 查看: 1646 | 回復(fù): 18 | |||
| 本帖產(chǎn)生 2 個(gè) 程序強(qiáng)帖 ,點(diǎn)擊這里進(jìn)行查看 | |||
[交流]
【求助】那位達(dá)人給我個(gè)大數(shù)相乘的算法吧 謝謝了
|
|||
| 看了一個(gè)大數(shù)相乘的算法,運(yùn)行了一下,但是不對(duì),想看看高手的代碼,先謝啦 |
» 搶金幣啦!回帖就可以得到:
+2/96
+1/88
+1/85
+1/79
+1/55
+1/35
+2/34
+1/32
+1/7
+1/7
+1/5
+1/5
+1/4
+1/3
+1/3
+1/3
+1/2
+1/2
+1/2
+1/1
|
#include #include using namespace std; int *multi(int *num1,int size1,int *num2,int size2) {//返回位數(shù)為size1+size2 int size=size1+size2; int *ret=new int [size]; int i=0; memset(ret,0,sizeof(int)*size); for(i=0;i int k=i; for(int j=0;j ret[k++]+=num2*num1[j]; } } for(i=0;i if(ret>=10) { ret[i+1]+=ret/10; ret=ret%10; } } return ret; } int main() { /*int m,n,num1[100],num2[100]; cout<<"輸入第一個(gè)數(shù)的位數(shù)"< cout<<"輸入第一個(gè)數(shù)"< cin>>num1; } cout<<"輸入第二個(gè)數(shù)位數(shù)"< cout<<"輸入第二個(gè)數(shù)"< cin>>num2; } */ int num1[]={3,2}; int num2[]={1,1}; int *ret=multi(num1,2 ,num2,2 ); for(int i=3 ;i>=0;i--) { cout< } delete [] ret;//內(nèi)存釋放 cin.get(); return 0; } 這是那個(gè)代碼 去上課了 現(xiàn)在才回復(fù) 不好意思啊 我試了那兩個(gè) 是反著的 而且也不太懂 想看看高手的易讀些的代碼 謝謝 |
|
#include #include using namespace std; int *multi(int *num1,int size1,int *num2,int size2) {//返回位數(shù)為size1+size2 int size=size1+size2; int *ret=new int [size]; int i=0; memset(ret,0,sizeof(int)*size); for(i=0;i int k=i; for(int j=0;j ret[k++]+=num2*num1[j]; } } for(i=0;i if(ret>=10) { ret[i+1]+=ret/10; ret=ret%10; } } return ret; } int main() { /*int m,n,num1[100],num2[100]; cout<<"輸入第一個(gè)數(shù)的位數(shù)"< cout<<"輸入第一個(gè)數(shù)"< cin>>num1; } cout<<"輸入第二個(gè)數(shù)位數(shù)"< cout<<"輸入第二個(gè)數(shù)"< cin>>num2; } */ int num1[]={3,2}; int num2[]={1,1}; int *ret=multi(num1,2 ,num2,2 ); for(int i=3 ;i>=0;i--) { cout< delete [] ret;//內(nèi)存釋放 cin.get(); return 0; } 這是那個(gè)代碼 去上課了 現(xiàn)在才回復(fù) 不好意思啊 我試了那兩個(gè) 是反著的 而且也不太懂 想看看高手的易讀些的代碼 謝謝 |
|
#include #include using namespace std; int *multi(int *num1,int size1,int *num2,int size2) {//返回位數(shù)為size1+size2 int size=size1+size2; int *ret=new int [size]; int i=0; memset(ret,0,sizeof(int)*size); for(i=0;i int k=i; for(int j=0;j ret[k++]+=num2*num1[j]; } } for(i=0;i if(ret>=10) { ret[i+1]+=ret/10; ret=ret%10; } } return ret; } int main() { /*int m,n,num1[100],num2[100]; cout<<"輸入第一個(gè)數(shù)的位數(shù)"< cout<<"輸入第一個(gè)數(shù)"< cin>>num1; } cout<<"輸入第二個(gè)數(shù)位數(shù)"< cout<<"輸入第二個(gè)數(shù)"< cin>>num2; } */ int num1[]={3,2}; int num2[]={1,1}; int *ret=multi(num1,2 ,num2,2 ); for(int i=3 ;i>=0;i--) { cout< delete [] ret;//內(nèi)存釋放 cin.get(); return 0; } 這是那個(gè)代碼 去上課了 現(xiàn)在才回復(fù) 不好意思啊 我試了那兩個(gè) 是反著的 而且也不太懂 想看看高手的易讀些的代碼 謝謝 |
|
#include #include using namespace std; int *multi(int *num1,int size1,int *num2,int size2) {//返回位數(shù)為size1+size2 int size=size1+size2; int *ret=new int [size]; int i=0; memset(ret,0,sizeof(int)*size); for(i=0;i int k=i; for(int j=0;j ret[k++]+=num2*num1[j]; } } for(i=0;i if(ret>=10) { ret[i+1]+=ret/10; ret=ret%10; } } return ret; } int main() { /*int m,n,num1[100],num2[100]; cout<<"輸入第一個(gè)數(shù)的位數(shù)"< cout<<"輸入第一個(gè)數(shù)"< cin>>num1; } cout<<"輸入第二個(gè)數(shù)位數(shù)"< cout<<"輸入第二個(gè)數(shù)"< cin>>num2; } */ int num1[]={3,2}; int num2[]={1,1}; int *ret=multi(num1,2 ,num2,2 ); for(int i=3 ;i>=0;i--) { cout< delete [] ret;//內(nèi)存釋放 cin.get(); return 0; } 這是那個(gè)代碼 去上課了 現(xiàn)在才回復(fù) 不好意思啊 我試了那兩個(gè) 是反著的 而且也不太懂 想看看高手的易讀些的代碼 謝謝 |
木蟲 (初入文壇)
|
#include #define N 10000 void main() { int a[N],n,k,i,j,m,flag=1;//flag代表位數(shù) printf("請(qǐng)輸入一個(gè)100以內(nèi)的正數(shù)" ;scanf("%d",&n); for(i=1;i<=N;i++) a=0;//這個(gè)循環(huán)使得數(shù)組里的每一個(gè)元素初值都為0 a[1]=1;//為了便于累乘運(yùn)算,特殊的將a[1]賦值為1 for(k=1;k<=n;k++)//大循環(huán)用于計(jì)算小于n的所有的數(shù) { flag=1; for(i=1;i<=k;i++) { for(j=1;j<=flag;j++) a[j]*=i; for(j=1;j<=flag;j++) { if(a[j]>9)//從低位到高位判斷是否大于9,如果大于,則進(jìn)位 { for(m=1;m<=flag;m++) { if(a[flag]>9) flag++;//控制所求得的數(shù)的階乘的位數(shù) a[m+1]+=a[m]/10; a[m]=a[m]%10;//將數(shù)字分離到每一個(gè)數(shù)組元素里 } } } } printf("%d的階乘的全部有效數(shù)字為",k); for(;flag>=1;flag--) printf("%d",a[flag]);//從高位往低位依次輸出 printf("\n\n" ;for(i=1;i<=N;i++) a=0; a[1]=1;//每次運(yùn)行以上步驟時(shí)都會(huì)改變數(shù)組a中的值,須再次賦值 } } |
金蟲 (著名寫手)
金蟲 (著名寫手)

祝福
| 19 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研]
|
.6lL 2026-03-18 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 294求調(diào)劑材料與化工專碩 +4 | 陌の森林 2026-03-18 | 4/200 |
|
|
[考研] 0703化學(xué)調(diào)劑,求各位老師收留 +9 | 秋有木北 2026-03-14 | 9/450 |
|
|
[考研] 354求調(diào)劑 +3 | Tyoumou 2026-03-18 | 5/250 |
|
|
[考研] 085601材料工程專碩求調(diào)劑 +6 | 慕寒mio 2026-03-16 | 6/300 |
|
|
[考研] 收復(fù)試調(diào)劑生 +4 | 雨后秋荷 2026-03-18 | 4/200 |
|
|
[考研] 326求調(diào)劑 +5 | 上岸的小葡 2026-03-15 | 6/300 |
|
|
[考研] 085601求調(diào)劑 +4 | Du.11 2026-03-16 | 4/200 |
|
|
[考研] 211本,11408一志愿中科院277分,曾在中科院自動(dòng)化所實(shí)習(xí) +6 | Losir 2026-03-12 | 7/350 |
|
|
[考研] 一志愿南京大學(xué),080500材料科學(xué)與工程,調(diào)劑 +4 | Jy? 2026-03-16 | 4/200 |
|
|
[論文投稿] 有沒有大佬發(fā)小論文能帶我個(gè)二作 +3 | 增銳漏人 2026-03-17 | 4/200 |
|
|
[考研] [導(dǎo)師推薦]西南科技大學(xué)國(guó)防/材料導(dǎo)師推薦 +3 | 尖角小荷 2026-03-16 | 6/300 |
|
|
[考研] 0854控制工程 359求調(diào)劑 可跨專業(yè) +3 | 626776879 2026-03-14 | 9/450 |
|
|
[考研] 327求調(diào)劑 +6 | 拾光任染 2026-03-15 | 11/550 |
|
|
[考研] 311求調(diào)劑 +3 | 冬十三 2026-03-13 | 3/150 |
|
|
[考研] 0703化學(xué)求調(diào)劑 +7 | 綠豆芹菜湯 2026-03-12 | 7/350 |
|
|
[考研] 求調(diào)劑 +7 | 18880831720 2026-03-11 | 7/350 |
|
|
[考研] 274求調(diào)劑 +3 | S.H1 2026-03-12 | 3/150 |
|
|
[考研] 277求調(diào)劑 +4 | anchor17 2026-03-12 | 4/200 |
|
|
[考博] 福州大學(xué)楊黃浩課題組招收2026年專業(yè)學(xué)位博士研究生,2026.03.20截止 +3 | Xiangyu_ou 2026-03-12 | 3/150 |
|