两个任意位数的相乘源码_源码二位乘

hacker|
141

文章目录:

求C++程序设计 “ 任意两个 一千位数的正整数相加 ” 源代码

#include math.h

#includeiostream

int FirstNum[1000] = {1,0,1,0,5,8,5,8,2,0};

int SecndeNum[1000] = {1,0,1,0,5,8,5,8,2,0};int ADDNum()

{

static int Cell = 1000;

long Allnum = 0; while(Cell0)

{

Allnum+= (FirstNum[Cell]*pow((float)10,(float)Cell)+SecndeNum[Cell]*pow((float)10,(float)Cell));

Cell--;

} return Allnum;

}

int _tmain(int argc, _TCHAR* argv[])

{

ADDNum();

while(1);

return 0;

}

方法是这样 不过位数太多了 计算机算不出来 1000位普通计算机算不出来的

两个一位小数的乘积四舍五入后是13.7,这两个一位小数的十分位上都是7,这两个小数的乘积在四舍五入

这两个数都是3.7

依题意,乘积的百分位上是9

所以,这两个小数的乘积在四舍五入前是13.69

13.69=3.7×3.7

乘法的计算法则:

1、首位相同,两尾数和等于10的两位数相乘方法: 十位数加1,得出的和与十位数相乘,得数为前积,个位数相乘,得数为后积,没有十位用0补。

2、首位相同,尾数和不等于10的两位数相乘方法:两首位相乘(即求首位的平方),得数作为前积,两尾数的和与首位相乘,得数作为中积,满十进一,两尾数相乘,得数作为后积。

3、被乘数首尾相同,乘数首尾和是10的两位数相乘方法:乘数首位加1,得出的和与被乘数首位相乘,得数为前积,两尾数相乘,得数为后积,没有 十位用0补。

4、被乘数首尾和是10,乘数首尾相同的两位数相乘方法:与帮助6的方法相似。两首位相乘的积加上乘数的个位数,得数作为前积,两尾数相乘,得 数作为后积,没有十位补0。

怎样快速计算两个相同数相乘的答案?

一般两位数的平方,都可以用这样的方法来计算:用这个数加它的个位数再乘以它的十位数,将得数乘10,然后加个位数的平方即可。

就是所谓的“本数加其尾,乘头居首位,为求平方积,再加尾乘尾。”

个位为1、2、3的两位数的平方计算方法:

对于个位是1、2、3的两位数,可以用这个数加它的个位数再乘以它的十位数,最后在算出的得数后面添加个位数的平方即可。

例如: 求23的平方,将23加3得26,26再乘2得52,52后面添加3的平方9,即可得529,这就是23平方的得数。

再比如求52的平方,可将52加2得54,再乘以5得270,后面添加2的平方4,即可得2704。

个位是4、6、7、8的两位数。

这一组两位数的平方计算法和第一组两位数平方的计算法相似,不同之处是因为这一组两位数个位的平方均超过10,所以在最后添加个位数的平方时须把它的十位数进到末位那个数,再把它的个位数添列到后面。

例如: 求26的平方,26 + 6 得 32 ,32×2得 64,因为个位数6的平方是36 ,须将3进到末一位,所以,64 + 3得67 ,67后面添加6得676,这就是26的平方结果。

再比如求48的平方,48 + 8 得56 ,56×4得224,224+6 (64的十位数)得 230 ,230后面添加 4 (64的个位数),即得 2304 。

以上算法看似步骤多些,但都是极易心算的,熟练之后会觉得非常的简便快捷。

对于个位是 5 的两位数,当然也可以用上述方法心算,还有一种更简便的方法: 只须将十位数加1再乘十位数,后边再添加 25 即可得出结果。

例如求 45 的平方,用4 乘5 (4+1)得 20 ,20 后面添加 25 ,即可得出 2025 ,就是 45 的平方。

再如求 85 的平方,8×9 得 72,后面添加 25 ,即得 7225 。

此法还可用于一些易算的三位数的平方,如求 105 的平方,10×11得 110 ,那么 105 的平方就是 11025 了; 求205的平方,20×21得 420 ,那么 205 的平方就是 42025 了。

最后我们来看个位是9的两位数的平方心算法。

个位是9的两位数计算平方时,可用“这个数加1”的平方,减去“这个数加1”的2倍,再加1即可得出结果。

例如求 29 的平方,“ 29+1 ”的平方是 900 ,减去“ 29+1 ”的2倍60 ,得数是 840 ,再加1得 841 。

再比如求 59 的平方,60的平方是 3600 ,减去60的2倍得3480,最后加1即得 3481

求个位数为5的两个数相乘,快速计算出结果的密笈?

1、在两个数字相同的情况下 15×15=225 25×25=625 35×35=1225 45×45=2025 ……… 你发现什么了么? 它们的结果: 最后两位都是25, 到百位数后时,分别为2、6、12、20.或许没什么特别,其实呢…,2=1×(1+1)、 6=2×(2+1)、12=3×(3+1)………,所以呢,可以得知道、我们用公式表达吧: 在两个个位数为5、并且是相同数字的情况下,它们相乘时设这个数为Y5,则Y5×Y5的数值 定为(Y*(Y+1))25、后面两个数是固定不变的,都是25. 以上是相同的两个数字,下面我们看看不相同的数 比如:5×15=75 15×25=375 25×35=875 ……… 它们的结果后面两个数字都是75,前面的数就是小的那个数字的十位数*大的那个数字的(十 位数+1),比如15×25=375,我们在计算是可以直接定下其结果后俩数位75,然后呢,就是1* (2+1),所以得到结果为375. 注意: 这样的快速计算方法并不适应所有个位数为5的数字的乘法,只适合相同的、或者十位 数字相差1的两位数.

两个括号里面的三个数相乘怎么算

先算里边括号,再算外边。

四则运算规则(按顺序计算,先算乘除后算加减,有括号先算括号,有乘方先算乘方)。

整数乘法法则是整数的运算法则之一,整数的乘法法则分两种情形表述:

1、一位数的乘法法则

两个一位数相乘,可根据乘法定义用加法计算,通常可利用乘法表直接得出任意两个一位数的积。

2、多位数的乘法法则

依次用乘数的各个数位上的数,分别去乘被乘数的每一数位上的数,然后将乘得的积加起来。

两个十位数相同,个位数不同的数相乘的简便计算是如何直接得出结果?相反又是如何算?

十位数相同,个位数不同的数相乘的简便计算是:

十位数的平方*100+十位数*(两个不同的个位数相加)*10+两个个位数相乘

比如

78*73=7^2*100+7*(8+3)*10+8*3=4900+770+24=5694

个位数相同,十位数不同的数相乘的简便计算是:

两个十位数相乘*100+个位数*(两个不同的十位数相加)*10+个位数的平方

比如87*37=8*3*100+7*(8+3)*10+7^2=2400+770+49=3219

1条大神的评论

  • avatar
    访客 2023-01-05 下午 06:13:51

    位小数的十分位上都是7,这两个小数的乘积在四舍五入这两个数都是3.7依题意,乘积的百分位上是9所以,这两个小数的乘积在四舍五入前是13.6913.69=3.7×3.7乘法的计算法则:1、首位相同,两尾数和等于10的两位数相乘方法

发表评论