hdu5478 Can you find it

本文探讨了给定特定模数条件下寻找满足特定方程的整数对(a, b)的问题。通过分析方程的形式与限制条件,采用快速幂算法进行有效计算。提供了一个C++实现示例,用于演示如何解决此类数学问题。

Can you find it

Time Limit: 8000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 822 Accepted Submission(s): 365


Problem Description
Given a prime number C(1C2×105) , and three integers k1, b1, k2 (1k1,k2,b1109) . Please find all pairs (a, b) which satisfied the equation ak1n+b1 + bk2nk2+1 = 0 (mod C)(n = 1, 2, 3, ...).

Input
There are multiple test cases (no more than 30). For each test, a single line contains four integers C, k1, b1, k2.

Output
First, please output "Case #k: ", k is the number of test case. See sample output for more detail.
Please output all pairs (a, b) in lexicographical order. (1a,b<C) . If there is not a pair (a, b), please output -1.

Sample Input
  
23 1 1 2

Sample Output
  
Case #1: 1 22

Source

题意:求出最小的a和对应的b满足题目所给式子。
分析:刚看到这题时也想到了快速幂,但一看数据范围,感觉肯定会超时,想了很久,未果,参考大牛博客,就是快速幂。 详解见这--某大牛博客

#include <iostream>
#include <cstdio>
#include <cstring>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
const double eps = 1e-6;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const int MOD = 1000000007;
#define ll long long
#define CL(a) memset(a,0,sizeof(a))

ll C,k1,b1,k2;
ll a,b;

ll mod_pow(ll x, ll y, ll mod)
{
    ll re=1;
    while (y)
    {
        if (y&1) re=re*x%C;
        x=x*x%C;
        y>>=1;
    }
    return re;
}

int main ()
{
    int cas=1;
    while (cin>>C>>k1>>b1>>k2)
    {
        cout<<"Case #"<<cas++<<":"<<endl;
        bool flag=false;
        for (a=1; a<C; a++)
        {
            b = C-mod_pow(a, k1+b1, C);
            if ((mod_pow(a,k1,C)*(C-b)%C+mod_pow(b,k2,C)*b%C)%C==0)
                cout<<a<<" "<<b<<endl,flag=true;
        }
        if (!flag)
            cout<<"-1"<<endl;
    }
    return 0;
}


LATFORM: Vendoroh 3.1.400 > Hi3861 HARDWARE: HI3861 900MHz, DEBUG: Current (jlink) On-board (jlink) Building in debug mode Verbose mode can be enabled via `-v, --verbose` option builder(["src\out\hispark_pegasus\wifiiot_hispark_pegasus\target.elf"], []) pip installed. ohos-build installed. SCons installed. [OHOS INFO] [1/2] ACTION //device/hisilicon/hispark_pegasus/sdk_liteos:run_wifiiot_scons(//build/lite/toolchain:riscv32-unknown-elf) [OHOS ERROR] [327/328] ACTION //device/hisilicon/hispark_pegasus/sdk_liteos:run_wifiiot_scons(//build/lite/toolchain:riscv32-unknown-elf) [OHOS ERROR] FAILED: obj/device/hisilicon/hispark_pegasus/sdk_liteos/run_wifiiot_scons_build_ext_components.txt [OHOS ERROR] C:\Users\小郭\AppData\Local\Programs\Python\Python38\python.exe ../../../build/lite/build_ext_components.py --path=../../../device/hisilicon/hispark_pegasus/sdk_liteos "--command=sh hm_build.sh E:/hi3861_hdu_iot_application/src/out/hispark_pegasus/wifiiot_hispark_pegasus win" --target_dir=E:/hi3861_hdu_iot_application/src/out/hispark_pegasus/wifiiot_hispark_pegasus/obj/device/hisilicon/hispark_pegasus/sdk_liteos/build.log --out_dir=E:/hi3861_hdu_iot_application/src/out/hispark_pegasus/wifiiot_hispark_pegasus/error.log [OHOS ERROR] CreateProcess failed: The system cannot find the file specified. [OHOS ERROR] [1/2] ACTION //device/hisilicon/hispark_pegasus/sdk_liteos:run_wifiiot_scons(//build/lite/toolchain:riscv32-unknown-elf) [OHOS ERROR] FAILED: obj/device/hisilicon/hispark_pegasus/sdk_liteos/run_wifiiot_scons_build_ext_components.txt [OHOS ERROR] C:\Users\小郭\AppData\Local\Programs\Python\Python38\python.exe ../../../build/lite/build_ext_components.py --path=../../../device/hisilicon/hispark_pegasus/sdk_liteos "--command=sh hm_build.sh E:/hi3861_hdu_iot_application/src/out/hispark_pegasus/wifiiot_hispark_pegasus win" --target_dir=E:/hi3861_hdu_iot_application/src/out/hispark_pegasus/wifiiot_hispark_pegasus/obj/device/hisilicon/hispark_pegasus/sdk_liteos/build.log --out_dir=E:/hi3861_hdu_iot_application/src/out/hispark_pegasus/wifiiot_hispark_pegasus/error.log [OHOS ERROR] CreateProcess failed: The system cannot find the file specified. [OHOS ERROR] [1/2] ACTION //device/hisilicon/hispark_pegasus/sdk_liteos:run_wifiiot_scons(//build/lite/toolchain:riscv32-unknown-elf) [OHOS ERROR] FAILED: obj/device/hisilicon/hispark_pegasus/sdk_liteos/run_wifiiot_scons_build_ext_components.txt [OHOS ERROR] C:\Users\小郭\AppData\Local\Programs\Python\Python38\python.exe ../../../build/lite/build_ext_components.py --path=../../../device/hisilicon/hispark_pegasus/sdk_liteos "--command=sh hm_build.sh E:/hi3861_hdu_iot_application/src/out/hispark_pegasus/wifiiot_hispark_pegasus win" --target_dir=E:/hi3861_hdu_iot_application/src/out/hispark_pegasus/wifiiot_hispark_pegasus/obj/device/hisilicon/hispark_pegasus/sdk_liteos/build.log --out_dir=E:/hi3861_hdu_iot_application/src/out/hispark_pegasus/wifiiot_hispark_pegasus/error.log [OHOS ERROR] CreateProcess failed: The system cannot find the file specified. [OHOS ERROR] you can check build log in E:\hi3861_hdu_iot_application\src\out\hispark_pegasus\wifiiot_hispark_pegasus\build.log [OHOS ERROR] command: "E:\hi3861_hdu_iot_application\src\prebuilts\build-tools\win64-x64\bin\ninja.exe -w dupbuild=warn -C E:\hi3861_hdu_iot_application\src\out\hispark_pegasus\wifiiot_hispark_pegasus" failed [OHOS ERROR] return code: 1 [OHOS ERROR] execution path: E:\hi3861_hdu_iot_application\src [src\out\hispark_pegasus\wifiiot_hispark_pegasus\target.elf] Error -1 process_command_results: 1
最新发布
09-21
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值