一 等差数列

Background

2019年蓝桥杯省赛 C++ B组

Description

数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中N 个整数。 现在给出这N 个整数,小明想知道包含这N 个整数的最短的等差数列有几项?

Format

Input

输入的第一行包含一个整数N。 第二行包含N 个整数A1.A2,..., AN。(注意A1<=AN 并不一定是按等差数列中的顺序给出) 2<=N<=100000,0<=Ai<=10^9

Output

输出一个整数表示答案。

Samples

输入数据 1

5
2 6 4 10 20

Copy

输出数据 1

10

这道题的关键是寻找最小等差,所以可以先将把所给数列进行排序,然后再将他们的差存入数组,最后在求数组中差的最大公约数。

求公约数我使用的从最小差逐渐往下去遍历

下面是代码

#include<iostream>
#include<algorithm>
using namespace std;
int arr[100005];
int brr[100005];
int main()
{int n;cin>>n;for(int i=0;i<n;i++){cin>>arr[i];}sort(arr,arr+n);for(int i=0;i<n-1;i++){brr[i]=arr[i+1]-arr[i];}int qwq=brr[0];int num=0;sort(brr,brr+n-1);for(int i=0;i<n-1;i++){if(brr[i]%qwq==0){num++;continue;}else{if(qwq==1) break;i=-1;num=0;qwq--;}}if(num==n-1){cout<<(arr[n-1]-arr[0])/qwq+1;        }else{cout<<arr[n-1]-arr[0]+1;}return 0;}

二  双阶乘

Description

一个正整数的双阶乘,表示不超过这个正整数且与它有相同奇偶性的所有正整数乘积。n 的双阶乘用 n!! 表示。

例如:

3!! = 3 × 1 = 3。

8!! = 8 × 6 × 4 × 2 = 384。

11!! = 11 × 9 × 7 × 5 × 3 × 1 = 10395。 请问,2021!! 的最后 5 位(这里指十进制位)是多少?

Hint

2021!! = 2021 × 2019 × · · · × 5 × 3 × 1。

建议使用计算机编程解决问题。

Input

Output

输出2021!! 的最后 5 位(这里指十进制位

Samples

输入数据 1

Copy

输出数据 1

这道题很简单,注意取余数就可以了。

#include<stdio.h>
int main()
{int n,a=1;for(n=2021;n>0;n=n-2){a=n*a%100000;}printf("%d", a%100000);return 0;
}

三 完全平方数

Description

一个整数 a 是一个完全平方数,是指它是某一个整数的平方,即存在一个整数 b,使得 a = b^2a=b2。给定一个正整数 n,请找到最小的正整数 x,使得它们的乘积是一个完全平方数。

Format

Input

输入一行包含一个整数 n。

Output

输出找到的最小的正整数 x。

Samples

输入数据 1

12

Copy

输出数据 1

3

Copy

Limitation

对于 30% 的评测用例,1 ≤ n ≤ 10001≤n≤1000,答案不超过 10001000。

对于 60% 的评测用例,1 ≤ n ≤ 10^81≤n≤108,答案不超过 10^8108。

对于所有评测用例,1 ≤ n ≤ 10^{12}1≤n≤1012,答案不超过 10^{12}1012。

首先给出的数如果是素数那么就不能拆成两个数相乘那么此时的x就只能为该数本身,若不是素数那么拆成的两个数还需判断是否能整除

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll N=2e6+10;int main()
{ll n;ll qwq=1;cin>>n;for(int i=2;i*i<=n;i++){int num=0;while(n%i==0){n/=i;num++;}if(num%2!=0)qwq*=i;}cout<<qwq*n;return 0;
}

四,小平方

Description

小蓝发现,对于一个正整数 n 和一个小于 n 的正整数 v,将 v 平方后对 n取余可能小于 n 的一半,也可能大于等于 n 的一半。请问,在 1 到 n − 1 中,有多少个数平方后除以 n 的余数小于 n 的一半。例如,当 n = 4 时,1, 2, 3 的平方除以 4 的余数都小于 4 的一半。又如,当 n = 5 时,1, 4 的平方除以 5 的余数都是 1,小于 5 的一半。而2, 3 的平方除以 5 的余数都是 4,大于等于 5 的一半。

Input

输入一行包含一个整数 n。

Output

输出一个整数,表示满足条件的数的数量。

Samples

输入数据 1

5

Copy

输出数据 1

2

Copy

Limitation

对于所有评测用例,1 ≤ n ≤ 10000

我们只需要从1枚举到n-1,你然后在枚举的过程中计算一下当前位置的平方,然后再对n取模,如果余数是小于n的一半那么我们就记录下来,否则我们就不记录,最后输出我们记录的个数即可

#include<iostream>
using namespace std;
int main()
{int n;int ans=0;cin>>n;for(int i=n-1;i>=1;i--){if(i*i%n*2<n) ans++;}cout<<ans<<endl;return 0;
}

五,格点

Description

如果一个点 (x, y) 的两维坐标都是整数,即 x ∈ Z 且 y ∈ Z,则称这个点为一个格点。如果一个点 (x, y) 的两维坐标都是正数,即x > 0 且 y > 0,则称这个点在第一象限。请问在第一象限的格点中,有多少个点 (x, y) 的两维坐标乘积不超过 2021, 即 x · y ≤ 2021。

Hint

建议使用计算机编程解决问题

Input

Output

直接输出结果就行

Samples

输入数据 1

Copy

输出数据 1

一个简单的模拟,模拟完每一个点并作出判断即可。

#include <stdio.h> int main()
{int c = 0;for (int i = 1; i <= 2021; i++){for (int b = 1; b <= 2021; b++){if (i * b <= 2021){c++;}}}printf("%d", c);return 0;
}

蓝桥杯等差数列,双阶乘相关推荐

  1. 蓝桥杯---等差数列(C语言)

    蓝桥杯-等差数列 解决方案: 1.找出5个数中两数最小之差(假定公差) 2.从5个数的最小项开始加公差,加到大于等于5个数的最大项后,看是否遍及5项的每一项. 遍及:确定公差 未遍及:拟公差减一 最坏 ...

  2. [蓝桥杯2016决赛]阶乘位数-数论

    题目描述 9的阶乘等于:362880 它的二进制表示为:1011000100110000000 这个数字共有19位. 请你计算,9999 的阶乘的二进制表示一共有多少位? 输出 输出一个整数表示答案 ...

  3. 蓝桥杯 基础练习 阶乘计算

    问题描述 输入一个正整数n,输出n!的值. 其中n!=123*-*n. 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法.使用一个数组A来表示一个大整数a,A[0]表示a ...

  4. 蓝桥杯 基础练习 阶乘计算(C语言)

    阶乘计算 问题描述 输入一个正整数n,输出n!的值. 其中n!=123*-*n. 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法.使用一个数组A来表示一个大整数a,A[ ...

  5. 【超详细】(蓝桥杯Python)阶乘约数:求100阶乘的正约数个数。

    首先,这里涉及到的数学知识有: 1.质数:只能被两个或以下的数整除的数 2.合数:能被三个或以上的数整除的数 3.阶乘:是所有小于及等于该数的正整数的积,并且0的阶乘为1.(100的阶乘为1x2x3. ...

  6. 蓝桥杯100的阶乘约数

    // 定义阶乘 n! = 1 × 2 × 3 × · · · × nn!=1×2×3×⋅⋅⋅×n. // // 请问 100!(100的阶乘)有多少个正约数. //这一题是可以用公式的 import ...

  7. Java实现第十届蓝桥杯等差数列

    试题 I: 等差数列 时间限制: 1.0s 内存限制: 512.0MB 本题总分:25 分 [问题描述] 数学老师给小明出了一道等差数列求和的题目.但是粗心的小明忘记了一 部分的数列,只记得其中 N ...

  8. 万进制——蓝桥杯|ACM 大数阶乘——21行代码AC

    浅谈进制思想: 日常生活中我们习惯用十进制去运算: 为了方便电脑识别开发出了二进制,又因为2^3=8 , 2^4=16,因此应运而生了八进制与16进制. 世上本没有路,走的人多了,也便成了路,那么既然 ...

  9. 第十届蓝桥杯 等差数列(Python)

    题目: 思路: 1.给数组排序,求出两两之间的差值即公差,如果差值为0,直接返回n,否则进入第二步: 2.给差值数组排序,求出两两之间的最大公因数即公差 代码: def gcd(x, y):while ...

最新文章

  1. 【AAAI2022】多任务推荐中的跨任务知识提炼
  2. 阿里云服务器ecs绑定域名,端口的问题,不用80端口
  3. 洛谷 P4245 【模板】任意模数NTT
  4. 中科大 计算机网络16 P2P应用
  5. 计算机应用基础165791,人大网大计算机应用基础试题答案资料.doc
  6. 2003系统不支持易语言内存皮肤解决方法
  7. Thymeleaf指定背景图片以及图片如何调整大小
  8. 蒙特卡洛 光 matlab,用蒙特卡罗法模拟光散射问题
  9. 欧姆龙sysmac studio 与得克威尔EX-1100(EX-2C0S,EX300S)EtherCat配置与通信
  10. 元素显示类型-快元素、行内元素、行内快元素、盒子模型以及元素类型相互转换
  11. 计算机组成原理实验-logisim实现自动售糖机
  12. mdp框架_SIGIR 2020 | 知识图谱上推荐推理的模仿学习框架
  13. signature=6217a496579a029c7524d3521cec3dea,网络工程师成长日记370-阿尔斯通
  14. springboot整合netty实现tcp通信
  15. 秃顶患者福音?英国公司推毛囊克隆技术应对脱发秃顶
  16. ios修改hosts文件后访问网址114导航域名无法解析问题
  17. git 自动将本地代码同步到线上服务器,很详细的哟,废话多,实则内容很少的
  18. pandas学习笔记(三):数据的变换与数据的管理
  19. flagSet 使用
  20. whale系统实战,聊聊用户认证

热门文章

  1. APR(Apache Portable Run-time Librarie)介绍
  2. 银行本、异地,本、跨行存取款收费比较
  3. QPlainText-----普通文本编辑器
  4. wxMEdit 新增德文翻译
  5. java 动物声音模拟器_动物声音模拟器软件
  6. 基于层次分析法与熵权法的主客观组合赋权模型(原创:小青龙)
  7. 如何画好设计素描?美术加推荐尝试这些方法~
  8. 经典的深度强化学习劝退文读后感
  9. 2022 虎符 pwn mva
  10. SUSCTF2022的tttree逆向wp