分治法大整数乘法c语言,大整数乘法(分治法)「建议收藏」

分治法大整数乘法c语言,大整数乘法(分治法)「建议收藏」#include#includeusingnamespacestd;intnum(intu)//计算乘数的位数{inti,num;i=1;num=u/10;while(num!=0){u=num;num=u/10;i=i+1;}//cout<returni;}voidMUL(intu,inti,int&w,int&x)//将乘数分治{w=u/(pow…

大家好,又见面了,我是你们的朋友全栈君。

#include

#include

using namespace std;

int num(int u) //计算乘数的位数

{

int i,num;

i=1;

num=u/10;

while(num!=0)

{

u=num;

num=u/10;

i=i+1;

}

// cout<

return i;

}

void MUL(int u,int i,int &w,int &x)//将乘数分治

{

w=u/(pow(10,i/2));

x=u-w*pow(10,i/2);

// cout<

}

int main(int argc, char* argv[])

{

int multi,multi1;//定义两个乘数

int number,number1,w,x,y,z,product,product1,product2,product3;

cout<

cin>>multi>>multi1;

number=num(multi);//计算位数

number1=num(multi1);

MUL(multi,number,w,x);//将乘数分治

MUL(multi1,number1,y,z);

if(number%2!=0)//如果乘数位数是奇数

{

product=w*y*pow(10,number-1);

product1=((w+x)*(y+z)-w*y-x*z)*pow(10,number/2);

product2=x*z;

product3=product+product1+product2;

// cout<

cout<

}

else//如果乘数位数是偶数

{

product=w*y*pow(10,number);

product1=((w+x)*(y+z)-w*y-x*z)*pow(10,number/2);

product2=x*z;

product3=product+product1+product2;

// cout<

cout<

}

return 0;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137257.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hostapd编译

    hostapd编译从官网下载源码http://w1.fi/hostapd/说明:本篇文章基于前两篇libnl编译和openssl编译的结果,存放路径第一步,解压tar-xvfhostapd-2.5.tar.gz cdhostapd-2.5/hostapd/第二步 cpdefconfig.config修改.config将#CONFIG_LIBNL32=y修改为CONFIG_LIBNL32=y第三步,修改M…

    2022年5月22日
    83
  • ERROR running qmake

    ERROR running qmake1>ReadingQtconfiguration(D:/SoftWare/QT5.9.3/5.9.3/msvc2017_64/bin/qmake)1>GHViewerDetect.vcxproj:error:ERRORrunningqmake1>GHViewerDetect.vcxproj:error:qmake:(D:/SoftWare/QT5.9.3/5.9.3/msvc2017_64/bin/qmake)1>GHViewerDetect.vcx

    2022年5月19日
    100
  • 十进制转换为二进制java_二进制转八进制算法

    十进制转换为二进制java_二进制转八进制算法将十进制转换为二进制将二进制转换为十进制1.将十进制转换为二进制:思路:对十进制的数进行除2取余法:/***讲10进制转化为二进制*@paramde:待转换的十进制*@return:转换后的二进制(string)*/publicstaticStringDecimal2Binary(intde){

    2022年10月18日
    2
  • 免费QQ空间皮肤代码及使用方法[通俗易懂]

    免费QQ空间皮肤代码及使用方法[通俗易懂]免费QQ空间皮肤代码:免费QQ空间蓝色520代码javascript:window.top.space_addItem(1,7976,0,80,0,0,90);空间免费皮肤代码:黑色FLASH相

    2022年7月1日
    21
  • mysql索引abc,a=1 and c=2是否可使用索引_sql联合索引

    mysql索引abc,a=1 and c=2是否可使用索引_sql联合索引在一次查询中,MySQL只能使用一个索引。在真实项目中,SQL语句中的WHERE子句里通常会包含多个查询条件还会有排序、分组等。若表中索引过多,会影响INSERT及UPDATE性能,简单说就是会影响数据写入性能。因为更新数据的同时,也要同时更新索引。最实际的好处当然是查询速度快,性能好。MYSQL中常用的强制性操作(例如强制索引)https://www.jb51.net/article/49807…

    2025年9月18日
    5
  • 用python 打印九九乘法表的7种方式 (python经典编程案例)[通俗易懂]

    用python 打印九九乘法表的7种方式 (python经典编程案例)[通俗易懂]用python打印九九乘法表,代码如下:#九九乘法表foriinrange(1,10):forjinrange(1,i+1):print(‘{}x{}={}\t’.format(j,i,i*j),end=”)print()执行结果如下图:…

    2022年6月29日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号