日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

高精度数据×长整数

發(fā)布時(shí)間:2023/12/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高精度数据×长整数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基本思路

①每次乘數(shù)的一位與被乘數(shù)相乘的個(gè)位結(jié)果在最終結(jié)果中都不變,所以每次個(gè)位數(shù)直接用數(shù)組記錄下來
②根據(jù)對(duì)乘法豎式的理解,每?jī)蓚€(gè)懲罰結(jié)果(eg:被乘數(shù)的個(gè)位和十位分別與乘數(shù)相乘的結(jié)果加和,十位的相乘結(jié)果會(huì)比個(gè)位的要前移一位)這時(shí),可以想成是上面的數(shù)去掉末位(eg:b/=10;)與下一個(gè)乘法結(jié)果相加,這樣就符合加法的正常思路。

#include<stdio.h> #include<string.h> int main() {long b,c,d;int a[256],i,j,n;char s1[256];printf("Input a great number:");scanf("%s",s1);//作為乘數(shù)printf("Input a long Intiger:");scanf("%d",&c);//作為被乘數(shù)n=strlen(s1);d=0;//表示進(jìn)位,從0開始(一開始還沒有進(jìn)位)//取出所有中間計(jì)算結(jié)果的個(gè)位for(i=0,j=n-1;i<n;i++,j--){b=(s1[j]-'0')*c+d;a[i]=b%10;d=b/10;}//排除所有中間乘法個(gè)位后的整數(shù)while(d!=0){a[n]=d%10;d/=10;n++;}//逆序輸出for(i=n-1;i>=0;i--){printf("%d",a[i]);}return 0; }

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的高精度数据×长整数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。