描述
现在你用程序来证明吧。为了简洁,这里将问题转化为,给你两个奇数,分别为a 和 b,a、b为整数,保证a>b,然后要你算出8*c的形式,要求c也是整数。例如:给你5 3 可以求出8*2。运算过程a^2-b^2=5^2-3^2=8*2 问题很清楚了吧?那么开始吧。
输入
输入有多组测试数据。每组输入两个正整数奇数,a 和 b,且2^31>a>b>0。
输出
输出a^2-b^2=8*c。 字符或数字之间没有空格存在。
样例输入
5 3
9 7
15 3
样例输出
5^2-3^2=8*2
9^2-7^2=8*4
15^2-3^2=8*27
注意:此题主要注意a,b的类型,不能是int,要开到__int64,否则一直WA,题目很简单,我的AC代码如下:
1 #include<stdio.h> 2 #include<math.h> 3 #include<string.h> 4 #include<ctype.h> 5 6 void deal(__int64 a, __int64 b) 7 { 8 __int64 c; 9 if((a+b)%4==0) 10 c=(a+b)/4*((a-b)/2); 11 else 12 c=(a-b)/4*((a+b)/2); 13 printf("%I64d^2-%I64d^2=8*%I64d\n",a,b,c); 14 } 15 16 void solve() 17 { 18 __int64 a,b; 19 while(scanf("%I64d %I64d",&a,&b)!=EOF){ 20 deal(a,b); 21 } 22 } 23 24 int main() 25 { 26 solve(); 27 return 0; 28 }
作者:xueda120
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.