社区讨论

邪修都用了还是TLE

P1592互质参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mjjymp0f
此快照首次捕获于
2025/12/24 19:58
2 个月前
此快照最后确认于
2025/12/26 22:25
2 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
inline long long read() 
{
    long long x=0,f=1;
    char c=getchar();
    while (c<'0' || c>'9') { if (c=='-') f=-1; c=getchar(); }
    while (c>='0' && c<='9') { x=x*10+c-'0'; c=getchar(); }
    return x*f;
}

inline void print(long long x) 
{
    if (x<0) { putchar('-'); x=-x; }
    if (x>9) print(x/10);
    putchar(x%10+'0');
}
bool is(int a, int b) {
    if (a == 0 && b == 0) {
        return false;
    }
    if (a == 0) {
        return abs(b) == 1;
    }
    if (b == 0) {
        return abs(a) == 1;
    }
    int num1 = abs(a);
    int num2 = abs(b);
    while (num2 != 0) {
        int temp = num1 % num2;
        num1 = num2;
        num2 = temp;
    }
    return num1 == 1;
}
int main(){
    int n=read(),k=read();
    for(int i=1;;++i){
        if(i>=k)break;
        if(is(i,n)==1&&i==k){
            print(i);
            break;
        }else if(is(i,n)==0){
            --i;
        }
    }
    return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...