zoukankan      html  css  js  c++  java
  • 费马大定理

    people in USSS love math very much, and there is a famous math problem .

    give you two integers nn ,aa ,you are required to find 22 integers bb ,cc such that anan +bn=cnbn=cn .Inputone line contains one integer TT ;(1T1000000)(1≤T≤1000000)

    next TT lines contains two integers nn ,aa ;(0n1000(0≤n≤1000 ,000000 ,000,3a40000)000,3≤a≤40000)
    Outputprint two integers bb ,cc if bb ,cc exits;(1b,c1000(1≤b,c≤1000 ,000000 ,000)000) ;

    else print two integers -1 -1 instead.
    Sample Input

    1
    2 3

    Sample Output

    4 5
    费马大定理,当n>2 时 a^n+b^n=c^n 无解
    所以可以分为三种情况当n=0 题目说了 b和c必须>=1
    n=1 b。c 解不唯一
    当n=2 就是勾股定理了---->勾股数组
    当a为大于1的奇数2n+1时,b=2n^2+2n, c=2n^2+2n+1
    当a为大于4的偶数2n时,b=n^2-1, c=n^2+1
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    using namespace std;
    int main()
    {
        int t;
        long long n,a,b,c;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%lld%lld",&n,&a);
            if(n==0)
               printf("-1 -1
    ");
            else if(n==1)
               printf("%lld %lld",a+1,2*a+1);
            else if(n==2)
            {
                if(a%2==1)
                {
                    long long x=(a-1)/2;
                    b=2*x*x+2*x;
                    c=2*x*x+2*x+1;
                    printf("%lld %lld
    ",b,c);
                }
                if(a%2==0)
                {
                    int x=a/2;
                    b=x*x-1;
                    c=x*x+1;
                    printf("%lld %lld
    ",b,c);
                }
            }
            else
              printf("-1 -1
    ");
        }
        return 0;
    } 
  • 相关阅读:
    js_Array类型_find和findIndex
    js_正则表达式专项
    html5_音视频元素_audio&video
    html5_延迟(defer)脚本与异步(async)脚本
    html5_头部七元素_base元素
    html5_头部七元素_link元素
    html5_头部七元素_meta元素
    css_@media
    js_事件类型——鼠标点击事件
    puppeteer headless
  • 原文地址:https://www.cnblogs.com/ylrwj/p/10746422.html
Copyright © 2011-2022 走看看