X Round 2(毒瘤比赛qwq)

2019-08-16 07:43:51来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

X Round 2(毒瘤比赛qwq)

目录

  • 幻想与真实
  • 【XR-2】缘分
    • 题目
    • 思路
    • Code
    • 现实永远是残酷的
  • 【XR-2】奇迹
    • 题目
    • 思路
    • Code
  • 【XR-2】伤痕
    • 题目
    • 思路
    • Code
  • 【XR-2】约定
    • 题目
    • 思路
    • Code
  • 【XR-2】记忆
    • 题目
    • 思路
    • Code
  • 【XR-2】永恒
    • 题目
    • 思路
    • Code

大佬说

幻想与真实

预计分数:$100+0+0+0+0+0=100.$
实际分数:$0+0+0+0+0+0=0$

【XR-2】缘分

题目

思路

$gcd(a,b) * lcm(a,b)=a * b$

当 $gcd==1$ 时 $lcm$ 最大等于$a * b$,而想要$gcd==1$要满足的条件是$a⊥b$。
所以是求小于等于$n$的最大的两个不相等的质数(如果相等的话最后的答案就是小于等于$n$的最大的质数(将这个数称为$x$),这个数肯定小于$x * 2$。
所以思路应该正确,$qwq$。

Code

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<algorithm>
using namespace std;
int t;
int test[15]= {2,7,61};
unsigned long long temp[3];
inline int read(){
    int x=0;
    bool f=0;
    char c=getchar();
    while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
    while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
    return f?-x:x;
}//读入优化
inline void write(unsigned long long x){
    if(x/10) write(x/10);
    putchar(x%10+'0');
}//输出优化
inline long long qpow(int a,int b,int c) {//快速幂。不会的可以去做一下P1226 
    if(b==0) return 1%c;
    long long ans=1,base=a;
    while(b) {
        if(b & 1) ans*=base;
        ans%=c;
        base*=base;
        base%=c;
        b>>=1;
    }
    return ans;
}
inline bool mb(int p) {//Miller-Rabin算法。 
    if(p==1) return 0;
    if(p==2) return 1;
    int t=p-1,k=0;
    while(!(t&1)) {
        k++;
        t>>=1;
    }
    for(int i=0;i<=2;++i) {
        if(p==test[i]) return 1;
        long long a=qpow(test[i],t,p),nx=a;
        for(int j=1;j<=k;++j) {
            nx=(a*a)%p;
            if(nx==1&&a!=1&&a!=p-1) return 0;
            a=nx;
        }
        if(a!=1) return 0;
    }
    return 1;
}

int main(){
    t=read();
    int n;
    while(t--){
        n=read();
        int sum=0;
        for(int i=n;i>=1;--i){
            if(mb(i)){
                temp[++sum]=i;
                if(sum==2) break;
            }
        }
        if(temp[1]*temp[2]==0) printf("0");
        write(temp[1]*temp[2]);
        puts("");
    }
    return 0;
}

现实永远是残酷的

提交之后全$WA$,只能慢慢差错了(思路应该没错吧,$qwq$)。

$error1$

没有特判$n==1$的情况。然后加上继续$WA,qwq$。(我太菜了这题果然毒瘤。)

$jio$的自己太菜

不用快读和快输了,改成scanf() & printf()。继续$WA$。

$error2$

没有特判$n==0$的情况。然后加上继续$WA,qwq$。

$error3$

思路错了,qwq

【XR-2】奇迹

题目

戳。

思路

$N/A$

Code

N/A

【XR-2】伤痕

题目

戳。

思路

$N/A$

Code

N/A

【XR-2】约定

题目

戳。

思路

$N/A$

Code

N/A

【XR-2】记忆

题目

戳。

思路

$N/A$

Code

N/A

【XR-2】永恒

题目

戳。

思路

$N/A$

Code

N/A


原文链接:https://www.cnblogs.com/poi-bolg-poi/p/11094090.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:2019 WebRtc AudioMixer混音流程

下一篇:bzoj2093 Frog