码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 4569 Special equations(数学推论)

时间:2014-07-11 08:59:48      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   art   

题目

 

 

 

bubuko.com,布布扣
//想不出来,看了解题报告

/*
题意:给你一个最高幂为4的一元多项式,让你求出一个x使其结果模p*p为0.

题解:f(x)%(p*p)=0那么一定有f(x)%p=0,f(x)%p=0那么一定有f(x+p)%p=0。

所以我们可以开始从0到p枚举x,当f(x)%p=0,然后再从x到p*p枚举,不过每次都是+p,找到了输出即可,没有的话No solution!
*/

#include<stdio.h>
int main()
{
    int t,n;
    __int64 a[5],p;
    scanf("%d",&t);
    for(int id=1;id<=t;id++)
    {
        scanf("%d",&n);
        for(int i=n;i>=0;i--)
        {
            scanf("%I64d",&a[i]);
        }
        scanf("%I64d",&p);
        printf("Case #%d: ",id);
        __int64 ee=p*p;
        int flag=0;
        for(__int64 x=0;x<=p;x++)
        {
            __int64 ss=0; 
            __int64 xx=1;    
            for(int i=0;i<=n;i++)
            {
                ss+=(a[i]*xx);
                xx*=x;
            }
            if(ss%p==0)
            {
                for(__int64 y=x;y<=ee;y+=p)
                {
                    __int64 sss=0; 
                    __int64 xxx=1;    
                    for(int ii=0;ii<=n;ii++)
                    {
                        sss+=(a[ii]*xxx);
                        xxx*=y;
                    }
                    if(sss%ee==0)
                    {
                        flag=1;
                        printf("%I64d\n",y);
                        break;
                    }
                }
            }
            if(flag==1)break;
        }
        if(flag==0)
            printf("No solution!\n");
        }
        return 0;
    }
View Code

 

HDU 4569 Special equations(数学推论),布布扣,bubuko.com

HDU 4569 Special equations(数学推论)

标签:style   blog   http   color   os   art   

原文地址:http://www.cnblogs.com/laiba2004/p/3834564.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!