方程式

【题目描述】

求方程:a1*x1-a2*x2+a3*x3-a4*x4+a5*x5-a6*x6=0,在xi∈(0,K]内有多少组正整数解。

【输入描述】

一行七个整数K、a1、a2、a3、a4、a5、a6。

【输出描述】

一行一个整数,原方程有多少正整数解。

【输入样例】

10 -24 74 -25 22 -7 -22

【输出样例】

5

【数据范围及提示】
对于100%的数据,1 <= K <= 600,10^-5 <= ai <= 10^5。

源代码:

#include<iostream>
using namespace std;
long long K,A1,A2,A3,A4,A5,A6;
unsigned long long ans;
short s[100000001];
int main()
{
    cin>>K;
    cin>>A1>>A2>>A3>>A4>>A5>>A6;
    for (int a=1;a<=K;a++)
      for (int b=1;b<=K;b++)
        for (int c=1;c<=K;c++)
        {
            long long T=A1*a+A3*b+A5*c;
            if (T<0)
              T+=50000000;
            s[T]++;
        }
    for (int a=1;a<=K;a++)
      for (int b=1;b<=K;b++)
        for (int c=1;c<=K;c++)
        {
              long long T=A2*a+A4*b+A6*c;
              if (T<0)
                T+=50000000;
              ans=ans+s[T];
        }
    cout<<ans;
    return 0;
}
posted @ 2016-08-20 18:08  前前前世。  阅读(231)  评论(0编辑  收藏  举报