题目:如标题,汇编思想的解释在文章的最后
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a, b;
printf("请输入一个两位数:");
scanf("%d", &a);
if ((a%10 > 0) && (a%10 <= 3))
{
b = ((a + (a%10)) * (a / 10)) * 10 + ((a%10)*(a%10));
}
else if ((a%10 != 5) && (a%10 != 9))
{
b = (((a + (a%10)) * (a / 10)) + (((a%10)*(a%10)) /10)) * 10 + (((a%10)*(a%10)) % 10);
}
else if (a%10 != 9)
{
b = (((a/10)+1) * (a/10)) * 100 + 25;
}
else
{
b = ((a+1) * (a+1)) - ((a+1) * 2) +1;
}
if(a%10 == 0)
{
(a / 10) * (a / 10) * 100;
}
printf("%d", b);
printf("\n");
system("pasue");
return 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
*/