- 博客(57)
- 收藏
- 关注
原创 洛谷P1217[USACO1.5]回文质数
原题链接[USACO1.5]回文质数 Prime Palindromes - 洛谷https://www.luogu.com.cn/problem/P1217题解题目提示:找出所有的回文数再判断它们是不是质数(素数).注意特判:1.题目给出的范围是:5<=l,r<=1,0000,0000.所以1位的回文质数只有5和7;2.2位的回文质数只有11;(某不知名结论有偶数位的回文数都不是质数,除了2位的11是回文质数,其他的偶数位都可以跳过)3.9位的数只有100000000,
2022-02-09 09:12:08
684
原创 洛谷P5740最厉害的学生
原题链接【深基7.例9】最厉害的学生 - 洛谷https://www.luogu.com.cn/problem/P5740题解这道题是题单入门6函数与结构体的一道普及-,所以直接用了结构体来写,第一次提交的时候果然不出意外WA了,遂下载了第一个测试点数据,发现自己忽略了一个例外情况:各学生总分相同,此时我们就应该把出现比较早的学生留在前面。代码#include<bits/stdc++.h>using namespace std;struct student{ int
2022-02-08 10:09:23
1435
原创 【基础算法】快速幂(Acwing875题)
题目描述:给定n组ai,bi,pi,对于每组数据,求出ai^bi mod pi的值。输入格式第一行包含整数n。接下来n行,每行包含三个整数ai,bi,pi。输出格式对于每组数据,输出一个结果,表示ai^bi mod pi的值。每个结果占一行。数据范围1≤n≤100000,1≤ai,bi,pi≤2∗输入样例23 2 54 3 9输出样例41代码#include <iostream>using namespace std;.
2022-01-16 20:52:50
390
原创 PTA 连续因子
一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231)。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1*因子2*……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。输入样例:630输出样例:
2022-01-16 20:24:39
145
原创 PTA 字符串排序
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。输出格式:按照以下格式输出排序后的结果After sorted:每行一个字符串输入样例:red yellow blue black white输出样例:After sorted:blackblueredwhiteyellow代码(进行逐个比较):#include<bits/
2022-01-16 20:12:38
1389
原创 PTA 统计一行文本的单词个数
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let's go to room 209.输出样例:5代码1(自己写的)#include <stdio.h>int main(void){ int g,s=0; char q; while(1) { q=getchar();//吸收输入
2022-01-16 19:54:01
534
原创 【基础算法】筛法求欧拉函数(Acwing784题)
题目给定一个正整数n,求1~n中每个数的欧拉函数之和。输入格式共一行,包含一个整数n。输出格式共一行,包含一个整数,表示1~n中每个数的欧拉函数之和。数据范围1≤n≤输入样例6输出样例12代码#include <iostream>using namespace std;typedef long long ll;const int N = 1000005;int primes[N],euler[N],cnt;bool st[N];
2022-01-16 19:38:45
259
原创 【基础算法】欧拉函数(Acwing873题)
题目给定n个正整数ai,请你求出每个数的欧拉函数。欧拉函数的定义输入格式第一行包含整数n。接下来n行,每行包含一个正整数ai。输出格式输出共n行,每行输出一个正整数ai的欧拉函数。数据范围1≤n≤100,1≤ai≤2∗输入样例3368输出样例224代码#include<bits/stdc++.h>using namespace std;int euler(int x){ int res=x; for(int
2022-01-15 18:36:41
286
原创 【基础算法】最大公约数(Acwing872题)(辗转相除法)
题目给定n对正整数ai,bi,请你求出每对数的最大公约数。输入格式第一行包含整数n。接下来n行,每行包含一个整数对ai,bi。输出格式输出共n行,每行输出一个整数对的最大公约数。数据范围1≤n≤,1≤ai,bi≤2∗输入样例23 64 6输出样例32代码#include<bits/stdc++.h>using namespace std;int gcd(int a,int b){ return b?gcd(b,a%b):a
2022-01-15 18:04:17
157
原创 【基础算法】约数个数&约数之和(Acwing870题&Acwing871题)
关于约数如果 N = p1^c1 * p2^c2 * ... *pk^ck约数个数: (c1 + 1) * (c2 + 1) * ... * (ck + 1)约数之和: (p1^0 + p1^1 + ... + p1^c1) * ... * (pk^0 + pk^1 + ... + pk^ck)关于取模(a + b) % p = (a%p + b%p) %p (a - b) % p = (a%p - b%p) %p (a * b) % p = (a%p * b%p) %p 8..
2022-01-15 17:48:35
193
原创 【基础算法】试除法求约数(Acwing869题)
题目给定n个正整数,对于每个整数,请你按照从小到大的顺序输出它的所有约数。输入格式第一行包含整数n。接下来n行,每行包含一个整数。输出格式输出共n行,其中第 i 行输出第 i 个整数的所有约数。数据范围1≤n≤100,2≤≤2∗输入样例2 68输出样例1 2 3 61 2 4 8代码#include<bits/stdc++.h>using namespace std;int main(){ int n,m; cin&.
2022-01-15 16:14:05
135
原创 【基础算法】筛质数(Acwing868题)
题目给定一个正整数n,请你求出1~n中质数的个数。输入格式共一行,包含整数n。输出格式共一行,包含一个整数,表示1~n中质数的个数。数据范围1≤n≤输入样例8输出样例4代码方法一:埃氏筛法#include <iostream>using namespace std;const int N = 1000005;bool st[N];int main(){ int n,res = 0; cin>>n;
2022-01-15 15:35:40
117
原创 【基础算法】分解质因数(Acwing867题)
题目给定n个正整数,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。输入格式第一行包含整数n。接下来n行,每行包含一个正整数ai。输出格式对于每个正整数,按照从小到大的顺序输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一行。每个正整数的质因数全部输出完毕后,输出一个空行。数据范围1≤n≤100,1≤≤2∗输入样例268输出样例2 13 12 3代码#include<bits/st..
2022-01-15 15:12:04
319
原创 【基础算法】试除法判断质数(Acwing866题)
给定n个正整数,判定每个数是否是质数。输入格式第一行包含整数n。接下来n行,每行包含一个正整数ai。输出格式共n行,其中第 i 行输出第 i 个正整数是否为质数,是则输出“Yes”,否则输出“No”。数据范围1 ≤ n ≤ 100,1 ≤ ≤ −1输入样例:226输出样例:YesNo代码#include<bits/stdc++.h>using namespace std;int judge(int x){ if(..
2022-01-15 14:42:23
117
原创 【基础算法】高精度除法(Acwing794题)
题目给定两个非负整数A,B,请你计算 A / B的商和余数。输入格式共两行,第一行包含整数A,第二行包含整数B。输出格式共两行,第一行输出所求的商,第二行输出所求余数。数据范围1≤A的长度≤100000 ,1≤B≤10000B 一定不为0输入样例72输出样例31代码#include<bits/stdc++.h>using namespace std;vector<int> div(vector<int>A
2022-01-15 12:52:10
174
原创 【基础算法】高精度乘法(Acwing793题)
题目给定两个正整数A和B;请你计算A * B的值。输入格式共两行,第一行包含整数A,第二行包含整数B。输出格式共一行,包含A * B的值。数据范围1 ≤ A 的 长 度 ≤ 1000000 ,1≤B≤10000输入样例23输出样例6代码#include<bits/stdc++.h>using namespace std;vector<int>mul(vector<int>A,int b){ vecto
2022-01-15 12:43:33
136
原创 【基础算法】高精度减法(Acwing792题)
给定两个正整数,计算它们的差,计算结果可能为负数。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的差。数据范围1≤整数长度≤10e5输入样例3211输出样例21代码#include<bits/stdc++.h>using namespace std;const int N=1e6+10;bool cmp(vector<int>a,vector<int>b){ if(a.size()!=b.siz
2022-01-15 12:31:51
148
原创 【基础算法】高精度加法(Acwing791题)
题目给定两个正整数(不含前导0),计算它们的和。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的和。数据范围1≤整数长度≤100000输入样例1223输出样例35代码#include<bits/stdc++.h>using namespace std;vector<int>add(vector<int>a,vector<int>b){ vector<int>c; .
2022-01-12 21:57:45
301
1
原创 【基础算法】数的三次方根(Acwing790题)
题目给定一个浮点数 n,求它的三次方根。输入格式共一行,包含一个浮点数 n。输出格式共一行,包含一个浮点数,表示问题的解。注意,结果保留 6 位小数。数据范围−10000≤n≤10000输入样例1000.00输出样例10.000000代码#include<bits/stdc++.h>using namespace std;int main(){ double x; cin>>x; int f=1;//用来判断
2022-01-12 21:08:04
289
原创 【基础算法】数的范围(Acwing789题)
题目给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。对于每个查询,返回一个元素 kk 的起始位置和终止位置(位置从 00 开始计数)。如果数组中不存在该元素,则返回 -1 -1。输入格式第一行包含整数 n 和 q,表示数组长度和询问个数。第二行包含 n 个整数(均在 1∼100001∼10000 范围内),表示完整数组。接下来 q 行,每行包含一个整数 k,表示一个询问元素。输出格式共 q 行,每行包含两个整数,表示所求元素的起始位置和终止位置。如果数
2022-01-12 20:48:26
75
转载 【基础算法】归并排序(Acwing787题)
原题给定你一个长度为 n 的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在 1∼ 范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例53 1 2 4 5输出样例1 2 3 4 5代码include<bits/stdc++.h>using nam
2022-01-12 20:16:41
46
原创 【基础算法】快速排序(Acwing785题)
原题给定你一个长度为 n 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n 。第二行包含 n个整数(所有整数均在1~范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入格式53 1 2 4 5输出格式1 2 3 4 5代码#include<bits/stdc++.h>using ..
2022-01-12 18:05:33
69
原创 转换大小写
toupper函数原型int toupper(int c){if ((c >= ‘a’) && (c <= ‘z’))return c + (‘A’ - ‘a’);return c;}再普及一下大写转小写函数:tolowertolower函数原型int tolower(int c){if ((c >= ‘A’) && (c <= ‘Z’))return c + (‘a’ - ‘A’);return c;}它们有一个优点:
2021-11-06 20:54:29
90
1
原创 2021-10-25
#include <iostream>#include <fstream> //文件操作 #include <windows.h> // 为了使用Sleep()函数 struct FishOil{ std::string name; std::string uid;
2021-10-25 21:49:14
138
2
原创 杭电2043
#include<stdio.h>#include<string.h>int main(){ int M,i; char A[100]; scanf("%d",&M); getchar(); while(M--) { for(i=0;i<=strlen(A);i++) A[i]='\0'; gets(A); int flag=0,a=0,b=0,c=0,d=0; if(strlen(A)<8||strlen
2021-09-28 14:43:51
42
原创 杭电2042
#include<stdio.h>int main(){ int N,num,sum; scanf("%d",&N); while(N--) { sum=3; scanf("%d",&num); for(int i=1;i<=num;i++) { sum-=1;sum*=2; } printf("%d\n",sum); } return 0;}
2021-09-28 14:43:19
58
原创 杭电2040
#include<stdio.h>int main(){ int n,A,B,sum; int a[1000]; scanf("%d",&n); while(n--) { int j=1; sum=0; scanf("%d%d",&A,&B); for(int i=1;i<B;i++) { if(B%i==0) { a[j]=i; j++; } } for(int i=1;i<j;i+
2021-09-28 14:42:49
41
原创 杭电2039
#include<stdio.h>int main(){ int n,flag; double a,b,c; scanf("%d",&n); while(n--) { flag=1; scanf("%lf%lf%lf",&a,&b,&c); if(a>=b+c) flag=0; if(b>=a+c) flag=0; if(c>=a+b) flag=0; if(flag==1) printf("YES\n");
2021-09-28 14:42:18
44
原创 杭电2036
#include<stdio.h>int main(){ int n,a,b,c,d; double s,sum; int x[101],y[101]; while(scanf("%d",&n)!=EOF&&n!=0) { for(int i=0;i<n;i++) scanf("%d%d",&x[i],&y[i]); sum=0.0; for(int i=2;i<n;i++) { a=x[i]-x[0
2021-09-27 18:29:40
70
原创 杭电2035
#include<stdio.h>int main(){ int A,B,result; while(scanf("%d%d",&A,&B)!=EOF&&A!=0||B!=0) { result=1; for(int i=1;i<=B;i++) { result=result*A%1000; } printf("%d\n",result); } return 0;}
2021-09-27 18:28:38
56
原创 杭电2034
#include<stdio.h>int main(){ int n,m,num; int A[101],B[101],a[101]; while(scanf("%d%d",&n,&m)!=EOF&&n!=0||m!=0) { int flag1,flag2=1; for(int i=0;i<n;i++) scanf("%d",&A[i]); for(int i=0;i<m;i++) scanf("%d",&
2021-09-27 18:27:38
49
原创 杭电2033
#include<stdio.h>int main(){ int AH,AM,AS,BH,BM,BS; int H,M,S; int n; scanf("%d",&n); while(n--) { H=M=S=0; scanf("%d%d%d%d%d%d",&AH,&AM,&AS,&BH,&BM,&BS); if(AS+BS>60)
2021-09-27 18:27:04
46
原创 杭电2032
#include<stdio.h>int main(){ int n; int a[31][31]; for(int i=0;i<31;i++) a[i][0]=1; while(~scanf("%d",&n)) { for(int i=0;i<n;i++) { if(i==0) printf("1\n"); if(i==1) printf("
2021-09-27 18:25:18
45
原创 杭电2031
#include<stdio.h>#include<math.h>#include<string.h>char a[1000000];char c[1000000];char b[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; int main(void){ int N,NN,R,j,flag; while(~scanf("%d%d",&NN,&R)
2021-09-26 14:59:00
50
原创 杭电2029
#include<stdio.h>char a[10000000];char b[10000000];int main(){ int n,j,flag; scanf("%d",&n); getchar(); while(n--) { gets(a); for(int i=0;a[i]!='\0';i++) { j=i; } for(int i=0;i<=j;i++) { b[j-i]=a[i]; } flag=1;
2021-09-26 14:58:27
40
原创 杭电2028
#include<stdio.h>int main(){ int a,n,result,j,k; while(~scanf("%d",&n)) { result=1; while(n--) { scanf("%d",&a); if(result%a!=0) { for(int i=1;i<=a;i++) { if(result%i==0&&a%i==0) j=i; } k=a
2021-09-26 11:53:09
37
原创 杭电2027
#include<stdio.h>int main(){ char a[101]; int n; scanf("%d",&n); getchar(); while(n--) { int b[6]={0}; gets(a); for(int i=0;a[i]!='\0';i++) { if(a[i]=='a') ++b[0]; if(a[i]=='e') ++b[1]; if(a[i]=='i') ++b[2]; if(a[i]=
2021-09-26 11:52:38
32
原创 杭电2026
#include<stdio.h>#include<ctype.h>int main(){ int flag; char a[101]; while(gets(a)) { flag=1; for(int i=0;a[i]!='\0';i++) { if(flag==1) { flag=0; a[i]-=32; } if(!isalpha(a[i])) flag=1; } puts(a); } return
2021-09-26 11:00:19
82
原创 杭电2025
#include<stdio.h>int main(void){ char a[101]; int j,k; while(gets(a)) { j=0; k=0; for(int i=0;a[i]!='\0';i++) { if(a[i]>k) k=a[i],j=i; } for(int i=0;a[i]!='\0';i++) { if(a[i]==a[j]) printf("%c(max)",a[i]); else printf(
2021-09-26 10:50:10
59
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人