(TOJ3576)找规律

描述

(TOJ3576)找规律_第1张图片

现在你用程序来证明吧。为了简洁,这里将问题转化为,给你两个奇数,分别为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 }
 

 

你可能感兴趣的:(OJ)