首页 > 其他分享 >ucyhf 题解

ucyhf 题解

时间:2023-03-19 21:14:12浏览次数:48  
标签:int 题解 sum ucyhf 素数 bool isprime

题目传送门

愚人节题目,具体题面看翻译。

先写一个判断素数的函数,这题并不需要什么特殊的筛法,新手可以参考以下代码。

bool isprime(int x) {
    if (x <= 1) return 0;
    for (int i = 2; i <= x / i; i++) {
        if (x % i == 0) return 0;
    }
    return 1;
}

如果你追求最优解可以去看看其他大佬的题解。

再写一个反转函数。

int work(int n) {
    int sum = 0;
    while (n) {
       sum = sum * 10 + n % 10;
       n /= 10;
    }
    return sum;
}

然后拼起来,写成一个判断反素数函数。注意一下,反转前与反转后的数字不可相同,也就是不可为回文数。

bool flag(int n) {
    return isprime(n) and isprime(work(n)) and work(n) != n;
}

最后贴上代码

#include <bits/stdc++.h>
#define ll long long
#define INF 1e9
using namespace std;
bool isprime(int x) { // 素数判断
    if (x <= 1) return 0;
    for (int i = 2; i <= x / i; i++) {
        if (x % i == 0) return 0;
    }
    return 1;
}
int work(int n) { // 反转数字
    int sum = 0;
    while (n) {
       sum = sum * 10 + n % 10;
       n /= 10;
    }
    return sum;
}
bool flag(int n) { // 反素数判断
    return isprime(n) and isprime(work(n)) and work(n) != n;
}
int n, cnt; // cnt 用来记录当前是第几大的反素数
signed main() {
    ios :: sync_with_stdio(0);
    cin >> n;
    int num = 1;
    while (1) { // 暴力枚举,直到枚举到第 n 大的反素数
        if (flag(num)) cnt++;
        if (cnt == n) {
            cout << num;
            break;
        }
        num++;
    }
    return 0;
}

标签:int,题解,sum,ucyhf,素数,bool,isprime
From: https://www.cnblogs.com/xvl-/p/17234275.html

相关文章

  • Party 题解
    题目传送门一道简单的并查集练手题。与普通的并查集不同,除此之外还需记录下来某两人的讨厌关系,使得他们不能在同一集合中。if(find_root(x)==find_root(y))vis[find......
  • CF1060E 题解
    前言题目传送门!更好的阅读体验?提供一种更加麻烦的换根DP写法。思路代码#include<iostream>#include<cstdio>usingnamespacestd;typedeflonglongll;cons......
  • 3 月 15 日测试题解
    3月15日测试题解这学校的评测机我是真的吐了,\(\text{380pts}\rightarrow\text{300pts}\),电脑速度跟BZOJ有的一拼。一句话总结:简单,过于简单,但是在练习读题能力上十......
  • 3 月 19 日测试题解
    3月19日测试题解原来这就是AK的滋味吗,不过,我却完全没感到开心呢。T1题意给出两个整数\(a\),\(b\),重复以下操作直到\(a=b\):设\(a>b\),否则交换\(a\)与\(......
  • P5445 [APIO2019] 路灯 题解
    题目链接题目描述给你一个01串,有\(q\)个时刻,每个时刻要么把一位取反,要么问你在过去的所有时刻中有多少个时刻\(a\)和\(b-1\)之间都为1。题目分析观察题目,我们......
  • 2023.3.19 模拟赛题解
    银行取款题意在现代文明社会中,大家在诸如银行办理业务、车站买票等活动时都很文明,没有插队的现象,本着"先来先服务"的规矩。初赛已经结束了,凡凡的爸爸打算上银行去取点......
  • 【问题解决】Linux 下 VSCode IntelliSense 对 C 语言读写锁类型报错的问题
    如图下图所示,当我们想要使用C语言读写锁类型时,IntelliSense会提示如下未定义的错误:IntelliSense提示错误但是,如果忽略这些错误,直接`gcc-o`程序又没有问题。通......
  • 题解:【ARC112C】 DFS Game
    题目链接题目里面的注意点还是很多的,如果读错了题整个思路可能会一点都不对。首先是移动和选取硬币的操作是分开的,所以你移动到了一个有硬币的节点,将是你的对手获得硬币。......
  • .net6 docker部署,以及问题解决(附Dokerfile)
    搭建仓库,发布配置docker搭建私有仓库参考上文,搭建好私有仓库,成功访问http://127.0.0.1:5000/v2/_catalog之后:在VS右键=>添加=>Docker支持=>选择Linux,即可自动......
  • 蓝桥楼赛第23期-工作文件整理归类 题解
    题目描述实小楼同学平常的工作比较繁杂,经常需要处理各类文档,几天时间桌面上就累积了一堆不同类型和名称的文档,显得十分杂乱。实小楼想通过Python编写一个脚本,能够自动归......