马蹄集matji oj赛(第十二次)

news2024/9/22 23:32:09

目录

元素共鸣

欧拉函数

欧拉函数2

小码哥的喜欢数

整数的逆

数的自我

阶乘的质因子

分数个数

质数率

数字游戏


元素共鸣


难度:黄金
0时间限制:1秒
巴占用内存:128M
遥远的大陆上存在着元素共鸣的机制。
建立一个一维坐标系,其中只有素数对应的点的坐标存在着元素力,而相距为飞的两个元素力之
间能形成元素共鸣。现在,需要求出范围内所有能元素共鸣的点对,并将他们以第一个点的坐
标大小为关键字排序后输出(小的在前)。
格式
输入格式:一行两个整数几,k。
输出格式:所有小于等于的素数对。每对素数奴对输出一行,中间用单个空格隔开。
若没有找到任何素数对,输出empty。

//
// Created by abner on 2023/10/11.
//
#include <bits/stdc++.h>
using namespace std;
const int N =1e4+ 7;
bool judge[N];
int prime[N],cnt;
int getPrimes(int n) {
    for (int i = 2; i <= n; i++) {
        if (!judge[i])
            prime[cnt++] = i;
        for (int j = 0; prime[j] * i <= n; j++) {
            judge[prime[j] * i] = true;
            if (i % prime[j] == 0)
                break;
        }
    }
    return cnt;
}
int main(){
            int n,k;
            bool flag = false;
            cin >>n >>k;
            getPrimes(n);
            for (int i=0;i<cnt;i++) {
                int n1 = prime[i], n2 = n1 + k;
                if (n2 <= n && !judge[n2]) {
                    cout << n1 << " " << n2 << endl;
                    flag = true;
                }
            }
                if (!flag)
                    cout <<"empty";
                return 0;
            }

欧拉函数


难度:黄金时间限制: 1秒四占用内存:128M
给出给定正整数 n,求 f(n),此处 f(n)定为小于n 的所有与n 素的数的个数
格式
一个整数n。输入格式:
输出格式:输出一行一个整数表示答案
样例1
输入:4
输出:2

//
// Created by abner on 2023/10/11.
//
#include <bits/stdc++.h>
using namespace std;
int n;
int euler_phi(int n){
    int ans = n;
    for (int i=2;i*i<=n;i++)
        if(n%i==0) {
            ans = ans / i * (i - 1);
            while (n % i == 0) n /= i;
        }
            if (n > 1) ans=ans /n *(n -1);
            return ans;
        }
    int main(){
        cin >>n;
        cout <<euler_phi(n);
        return 0;
    }

欧拉函数2


难度: 钻石时间限制: 1秒四占用内存: 128M
给出给定正整数 n,求”f(),此处 f(n)定义为小于等于 n 并且与 n 质的数的个数(此处认为 1与1互质)
格式
输入格式:一个正整数n。
输出格式:输出一行一个整数表示答案
样例1
输入:4
输出:6

//
// Created by abner on 2023/10/11.
//
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e6 +7;
bool judge [N];
int prime [N],cnt,phi[N],n,sum;
void getPhi(int n){
    phi[1]=1;
    for (int i=2;i<=n;i++) {
        if (!judge[i]) {
            prime[cnt++] = i;
            phi[i] = i - 1;
        }
        for (int j = 0; prime[j] * i <= n; j++) {
            judge[prime[j] * i] = true;
            if (i % prime[j] == 0) {
                phi[prime[j] * i] = prime[j] * phi[i];
                break;
            } else
                phi[prime[j] * i]=(prime[j] - 1) * phi[i];
        }
    }
}
            signed main() {
                cin >> n;
                getPhi(n);
                for (int i = 1; i <= n; i++)
                    sum += phi[i];
                cout << sum << endl;
                return 0;
            }

小码哥的喜欢数


难度: 钻石
时间限制: 1秒四占用内存:128M
小码哥不喜欢以下情况的数:
1.是7的倍数(包括7);
2.数字的某一位是7,这种数字的倍数,小码哥也不喜欢。
小码哥会给你 t个数,如果这个数是他喜欢的数,那么告诉他下一个他喜欢的数是多少(即大于这个数的下一个他喜欢的数)。如果这个数他不喜欢,那你要告诉他。
格式
输入格式:第1行,一个正整数T表示小码哥给你的数接下来T行,每行1个整数2,表示这一次小码哥给的数
输出格式:输出共T行,每行一个整数。如果这个数是他喜欢的数,那么告诉他下一个他喜欢的数是多少(即大于这个数的下一个他喜欢的数) ;如果这个数他不喜欢,那你要输出 -1 ;

//
// Created by abner on 2023/10/11.
//
#include <bits/stdc++.h>
using namespace std;
const int N = 1e7 +7;
int T,x,ans [N],nxt [N],cnt;
bool judge[N]={1};
bool check(int x) {
    while (x) {
        if (x % 10 == 7)
            return true;
        x /= 10;
    }
    return false;
}
    int getNums(int n){
        int curr = 1;
        for (int i=2;i<=n;i++){
            if (!judge[i]) {
                bool flag = check(i);
                if (!flag) {
                    ans[cnt++] = i;
                    nxt[curr] = i;
                    curr = i;
                } else {
                    for (int j = i; j <= n; j += i)
                        judge[j] = true;
                }
            }
        }
        return cnt;
    }

int main(){
    getNums(N);
    cin >>T;
    while (T--){
        cin >>x;
        if (judge[x])
            cout <<-1 <<endl;
        else{
            cout <<nxt[x]<<endl;
    }
}
return 0;
}

整数的逆


难度:黄金时间限制: 1秒四占用内存:128M
定义p=1000000007,给定一个正整数n,求一个小于p 的正整数,使得 n * 在p 意义下为1,即存在正整数 k,使得n*e=k*p+1。
格式
一个正整数n。输入格式:
输出格式:输出一行一个整数  表示答案
样例1
输入: 500000004
输出:2

//
// Created by abner on 2023/10/11.
//
#include <bits/stdc++.h>
using namespace std;
#define int long long
int n,mod = 1e9 +7;
long long binpow(long long a,long long b,long long m){
    a%=m;
    long long res = 1;
    while (b > 0){
    if (b & 1)
    res = res * a % m;
    a=a * a % m;
    b>>=1;
}
return res;
}
signed main(){
    cin >>n;
    cout <<binpow(n,mod -2,mod);
    return 0;
}

数的自我


难度: 钻石时间限制: 0.75秒四占用内存:128M
提瓦特大陆上有一个贫穷的占星术士小码哥,出于占星术的要求,他时常要解决一些困难的数学问题。这天,上天给了他一个启示: 有一类称作 Self - Numbers 的数。对于每一个正整数 n,我们定义 d(n)为n加上它每一位数字的和。例如, d(75)= 75+7+5=87。给定任意正整数 n作为一个起点,都能构造出一个无限递增的序列: n,d(n),d(d(n)),d(d(d(n))),...例如,如果你从33开始,下一个数是33+3+3=39,再下一个为39+3+9=51,再再下一个为51+5+1=57,因此你所产生的序列就像这样:33,39,51,57,69,84,96,111,114,120,123,129,141,... 数字n被称作d(n)的发生器。在上面的这个序列中,33是39的发生器,39是51的发生器51是57的发生器等等。有一些数有超过一个发生器,如101的发生器可以是91和100。一个没有发生器的数被称作 Self- Number 。如前13个 Self -Number 为1,3,5,7,9,20,31,42,53,64,75,86,97。我们将第i个 Self-Number 表示为ai,所以a1=1,a2] = 3,a 3 =5...
现在小码哥需要找到一个1N 的区间内所有的 Self-Number ,请你帮帮他。

//
// Created by abner on 2023/10/11.
//

#include <bits/stdc++.h>
using namespace std;
const int N=1e7 +7;
int ans[N],cnt,n,k;
bool judge[N];
int cal(int x) {
    int ans = x;
    while (x) {
        ans += x % 10;
        x /= 10;
    }
    return ans;
}
int getNums(int n) {
    for (int i = 1, temp; i <= n; i++) {
        temp = cal(i);
        if (temp <= n)
            judge[temp] = true;
        if (!judge[i])
            ans[cnt++] = i;
    }
    return cnt;
}
    int main(){
        cin >>n >>k;
        cout <<getNums(n)<<endl;
        int x;
        while (k--) {
            cin >> x;
            cout << ans[x - 1] << " ";
        }
            return 0;
        }

阶乘的质因子


难度:钻石时间限制: 1秒占用内存: 128 M
小码哥有一天想把20!表示出来,但是小码哥意识到这个数字算出来将非常大,于是你给小码哥出主意,用算术基本定理的形式表示,于是这个任务理所应当的被小码哥推给了你,正好你想干点简单的事来换换脑子,就接受了。你要把 N! 按照算术基本定理的形式表示。
基本算数定理:一个数一定可以用一下形式表示:a = p(1]1] * p(2)c2l*..... *p(jl ;
pli 为质数数组, cl 为每一个质数的幂的次数对于不同的 a 来说,有不同的 p 和 c 数组。
格式
输入格式:输入一个整数N
输出格式: N!分解质因数后的结果,共若干行,每行两个数 p,c,表示含有 p项。按照

//
// Created by abner on 2023/10/11.
//
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e6 +7;
bool judge [N];
int prime[N],cnt,n;
int getPrimes(int n) {
    for (int i = 2; i <= n; i++) {
        if (!judge[i])
            prime[cnt++] = i;
        for (int j = 0; prime[j] * i <= n; j++) {
            judge[prime[j] * i] = true;
            if (i % prime[j] == 0)
                break;
        }
    }
    return cnt;
}
        signed main(){
            cin >> n;
            getPrimes(n);
            for (int i=0;i<cnt;++i){
                int ans =0,r=prime[i];
                while (r <= n){
                    ans +=n /r;
                    r *= prime[i];
                    }
                    if (ans)
                        cout <<prime[i] <<" "<<ans <<endl;
                }
                return 0;
            }

分数个数


难度: 钻石时间限制: 1.5秒四占用内存:128M
定义简分数为,分母d >分子n ,且不可以再约分
如果我们把 d< 6 的所有简分数以从小到大的顺序排列,则有:1/6,1/5,1/4,1/3,1/2,2/5,2/3,3/5,3/4,4/5,5/6 ,可以看到这个集合中包含的分数有11个。给定 d ,求这个最简分数集合中包含有多少个分数?
格式
输入格式:一个整数 d.
输出格式:输出一个整数表示包含的分数的个数

//
// Created by abner on 2023/10/11.
//
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e6 + 7;
bool judge [N];
int prime [N],cnt,phi[N],n,sum;
void getPhi(int n){
    phi[1]=1;
    for (int i=2;i<=n;i++){
        if (!judge[i]){
            prime[cnt++] = i;
        phi[i] = i-1;
    }
    for (int j=0;prime[j]* i<=n;j++) {
        judge[prime[j] * i] = true;
        if (i % prime[j] == 0) {
            phi[prime[j] * i] = prime[j] * phi[i];
            break;
        } else
            phi[prime[j] * i] = (prime[j] - 1) * phi[i];
    }
    }
}
signed main(){
    cin >>n;
    getPhi(n);
    for (int i = 2;i <= n;i++)
    sum += phi[i];
    cout <<sum <<endl;
    return 0;
}

质数率


难度:黄金时间限制: 1秒四占用内存:256M
请你求出 1,n 范围内质数占比率
格式
输入格式:只有一行,一个整数 n ,含义如题目描述。
输出格式:输出[1,n 范围内质数占比,保留3 位小数
样例1
输入:10
输出:8.409

//
// Created by abner on 2023/10/11.
//
#include <bits/stdc++.h>
using namespace std;
const int N = 1e8 +7;
bool judge[N];
int prime[N],cnt,n;
int getPrimes(int n) {
    for (int i = 2; i <= n; i++) {
        if (!judge[i])
            prime[cnt++] = i;
        for (int j = 0; prime[j] * i <= n; j++) {
            judge[prime[j] * i] = true;
            if (i % prime[j] == 0)
                break;
        }
    }
    return cnt;
}
int main(){
    scanf("%d",&n);
    getPrimes(n);
    printf("%.3lf\n",(double)cnt/n);
    return 0;
}

数字游戏


难度:黄金时间限制: 1秒四占用内存:128 M
小码哥和小码妹正在玩一个小游戏,小码哥先展示一个正整数 n,如果小码妹可以写出 k个正整数21···2k 满足]I-(+ 1)=n,则她可以得到  分。小码妹的数学并不好,所以请你写一个程序帮忙计算她最多可以得到多少分。
格式
输入格式:一行,一个正整数 n e2,1x 108
输出格式:一行,一个正整数
样例1
输入:12

//
// Created by abner on 2023/10/11.
//
#include <bits/stdc++.h>
using namespace std;
int n,ans;
int main(){
    cin >>n;
    for (int i = 2;i*i<=n;i++)
    while(n%i== 0) {
        ans++;
        n /= i;
    }
    if(n>1)
    ans++;
    cout <<ans;
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1080108.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

保护隐私与增强网络安全之网络代理技术

目录 前言 一、网络代理技术原理 二、网络代理技术类型 1. HTTP代理 2. SOCKS代理 3. DNS代理 4. 加密代理 5. 反向代理 三、网络代理技术应用 1. 加速网络访问速度 2. 绕过网络限制 3. 保护个人隐私 4. 节省带宽 5. 改善网络安全 四、网络代理技术优缺点 网络…

APK大小缩小65%,内存减少70%:如何优化Android App

APK大小缩小65&#xff05;&#xff0c;内存减少70&#xff05;&#xff1a;如何优化Android App 我们一直在努力为我们的Android应用程序构建MVP产品。在开发MVP产品后&#xff0c;我们发现需要进行应用程序优化以提高性能。经过分析&#xff0c;我们发现了以下可以改进的应用…

比特币有助减少腐败;微软 Copilot 每月赔 20 美元;AIGC 明年会“洗冷水澡”丨 RTE 开发者日报 Vol.64

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

AMEYA360分享:村田电子搭载了Onsemi公司IoT设备专用IC的新Bluetooth® Low Energy模块开始量产

近年来&#xff0c;所有远程监控、远程控制的用例均要求具备可无线连接的电池驱动IoT设备&#xff0c;而长寿命电池与安全的数据通信功能是其关键。为此&#xff0c;在IoT边缘设备的设计方面&#xff0c;最大的课题是要提高功率效率和安全性。 Type 2EG由于无线与内置微处理器两…

React 状态管理 - Mobx 入门(下)接入实战

目录 Mobx接入实战 Mobx构造复杂应用需要注意的 Mobx5 Or Mobx4 Mobx5 Mobx4 /package.json /src/routes/index.jsx /src/app.jsx /src/index.jsx /src/models/home/index.js /src/models/index.js /src/containers/home/index.jsx Mobx VS Redux Mobx接入实战 对…

RabbitMQ之延迟队列解读

目录 基本介绍 概述 为什么需要引进RabbitMQ延迟队列 应用场景 springboot代码实战 实战架构 工程概述 RabbitConfigDeal 配置类&#xff1a;创建队列及交换机并进行绑定 MessageService业务类&#xff1a;发送消息及接收消息 主启动类RabbitMq01Application&#xff1…

2023年中国医院信息系统发展现状及行业市场规模分析[图]

医院信息系统&#xff0c;亦称“医院管理信息系统”&#xff08;简称HIS&#xff09;&#xff0c;是指利用计算机软硬件技术、网络通信技术等现代化手段&#xff0c;对医院及其所属各部门的人流、物流、财流进行综合管理&#xff0c;对在医疗活动各阶段产生的数据进行采集储存、…

Lab 1: Unix utilities汇总

这个实验主要学习了常用的一些系统调用。 Lab 1: Unix utilities Boot xv6 (easy) git克隆&#xff0c;切换分支&#xff0c;qemu。根据要求进行操作即可。 $ git clone git://g.csail.mit.edu/xv6-labs-2020 $ cd xv6-labs-2020 $ git checkout util $ make qemusleep (ea…

分享一下花店制作微信小程序的步骤是什么

一、准备阶段 在准备阶段&#xff0c;花店需要完成以下任务&#xff1a; 注册微信公众平台账号&#xff1a;首先&#xff0c;花店需要注册一个微信公众平台账号&#xff0c;这个账号将用于创建和管理微信小程序。 确定小程序的功能和需求&#xff1a;花店需要根据自身的业务需…

RISC-V架构 | 飞凌嵌入式FET7110-C国产高性能核心板现货发售!

RISC-V凭借其完全开源免费且可自由修改的特性而备受国内厂商的追捧&#xff0c;在此背景下&#xff0c;飞凌嵌入式联合RISC-V国产处理器厂商赛昉科技(StarFive)基于昉惊鸿7110处理器共同推出FET7110-C核心板。 现在&#xff0c;飞凌嵌入式FET7110-C核心板&#xff08;商业级&a…

2023.10月网络优化项目实战

基础配置 sw2 <Huawei>sy Enter system view, return user view with Ctrl+Z. [Huawei]sy sw2 [sw2]vlan batch 10 20 Info: This operation may take a few seconds. Please wait for a moment...done.[sw2]int e0/0/1 [sw2-Ethernet0/0/1]port link-type access [s…

第十章-输入输出系统

Ⅰ.锁 本质是互斥操作 原因&#xff1a;针对公共资源访问时&#xff0c;临界区若不加以互斥限制&#xff0c;可能导致执行过程中突然的中断导致出现异常。 1.互斥过程 设定互斥量M为二值信号量&#xff0c;0/1&#xff0c;P-&#xff0c;V&#xff0c;现有两个进程A、B共同…

大数据flink篇之三-flink运行环境安装(一)单机Standalone安装

一、安装包下载地址 https://archive.apache.org/dist/flink/flink-1.15.0/ 二、安装配置流程 前提基础&#xff1a;Centos环境&#xff08;建议7以上&#xff09; 安装命令&#xff1a; 解压&#xff1a;tar -zxvf flink-xxxx.tar.gz 修改配置conf/flink-conf.yaml&#xff1…

最新AI创作系统源码ChatGPT网站源码/支持Midjourney,AI绘画/支持OpenAI GPT全模型+国内AI全模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

RxJava介绍及基本原理

随着互联网的迅猛发展&#xff0c;Java已成为最广泛应用于后端开发的语言之一。而在处理异步操作和事件驱动编程方面&#xff0c;传统的Java多线程并不总是最佳选择。这时候&#xff0c;RxJava作为一个基于观察者模式、函数式编程和响应式编程理念的库&#xff0c;为我们提供了…

【Nuget】程序包源

程序包源地址(部分) Azure 中国区的官方 NuGet 程序包源地址 https://nuget.cdn.azure.cn/v3/index.json 官方 NuGet 程序包源地址 V2 https://www.nuget.org/api/v2 官方 NuGet 程序包源地址 V3 https://api.nuget.org/v3/index.json MyGet 上 Eto.Forms 框架的程序包源地址 h…

杨冰:分布式数据库助力企业数实融合,跨越数字化转型深水区

近日&#xff0c;2023 inclusion外滩大会在上海黄浦世博园区举办。由赛迪顾问与 OceanBase 联合主办的外滩大会“分布式数据库助力数实融合”见解论坛圆满落幕。 会上&#xff0c;OceanBase CEO 杨冰发表了《分布式数据库助力企业数实融合&#xff0c;跨越数字化转型深水区》的…

一个完整的初学者指南Django-part1

源自&#xff1a;https://simpleisbetterthancomplex.com/series/2017/09/04/a-complete-beginners-guide-to-django-part-1.html 一个完整的初学者指南Django - 第1部分 介绍 今天我将开始一个关于 Django 基础知识的新系列教程。这是一个完整的 Django 初学者指南。材料分为七…

mysql面试题38:count(1)、count(*) 与 count(列名) 的区别

该文章专注于面试&#xff0c;面试只要回答关键点即可&#xff0c;不需要对框架有非常深入的回答&#xff0c;如果你想应付面试&#xff0c;是足够了&#xff0c;抓住关键点 面试官&#xff1a; count(1)、count(*) 与 count(列名) 的区别 当使用COUNT函数进行数据统计时&…

echarts折线图(其他图也是一样)设置tooltip自动滚动

按顺序自动滚动效果 <div class"leftComp-charts" id"chartsBox"></div>chartsData: {roadNorm: [],time: []},eChartsTimer: nullinitChartsBox() {this.option {tooltip: {trigger: "axis",axisPointer: {// 方法一type: "s…