- 博客(91)
- 收藏
- 关注
原创 取数位II
int main(){ int a; scanf("%d",&a); printf("%d\n",a/100); printf("%d\n",(a%100)/10); printf("%d",(a%100)%10); return 0;}
2021-08-21 21:37:05
345
原创 时间转换(
#include<stdio.h>int main(){ int t; int h=0,m=0,s=0; scanf("%d",&t); h=t/3600; m=(t-h*3600)/60; s=t-h*3600-m*60; if(h>=0&&h<12) printf("%02d:%02d:%02d am",h,m,s); else if(h>=12&&h&l...
2021-08-21 21:35:23
308
原创 考试结束时间
#include<stdio.h>int main(){ long a,b,c,d,sum; scanf("%ld%ld%ld%ld",&a,&b,&c,&d); sum=a*3600+b*60+c+d; a=sum/3600; b=(sum-a*3600)/60; c=sum-a*3600-b*60; a=a%24; if(a==12)printf("%ld:%ld:%ldp...
2021-08-21 21:34:26
472
原创 昨天和明天
#include<stdio.h>struct date{ int year; int month; int day;};int numbers_of_month(struct date d){ int number[12]={31,28,31,30,31,30,31,31,30,31,30,31}; if((d.year%4==0&&d.year%100!=0)||(d.year%400==0)) number...
2021-08-21 21:33:16
226
原创 计算多项式的值
#include<stdio.h>#include<math.h>int main(){ int x,n,i; long long sum=0; int a[100],b[100]; scanf("%d%d",&x,&n); for(i=0;i<n;i++){ scanf("%d%d",&a[i],&b[i]); sum+=(long long)(a[i]*p...
2021-08-21 21:30:55
154
原创 勾股定理(
#include<stdio.h>#include<math.h>int main(){ long long c; int cnt=0; long long a,b; scanf("%lld",&c); for(a=1;a<c;a++) { b=(long long)sqrt(c*c-a*a); if(b*b==c*c-a*a&&b<a) ...
2021-08-21 21:30:36
118
原创 斐波那契数列?
#include<stdio.h>int main(){ int n,a,b,p; int ans[100]; scanf("%d%d%d%d",&n,&a,&b,&p); int i; ans[1]=ans[2]=1; for(i=3;i<=n;i++){ ans[i]=(a*ans[i-1]+b*ans[i-2])%p; } printf("%d...
2021-08-17 19:38:03
176
原创 字符串弱等于
#include<string.h>#include<stdio.h>#include<stdbool.h>void divide(char a[],char a1[],char a2[],int len){ int i; for(i=0;i<len;i++){ a1[i]=a[i]; } a1[i]='\0'; for(i=0;i<len;i++){ a2[i]=a[i+le...
2021-08-17 19:24:00
593
原创 农场周围的道路
#include <stdio.h> #include <string.h>int n,k; int cal(int a){ if(a<=k) return 1; if((k&1)!=(a&1)) return 1; return cal((a-k)/2)+cal((a-k)/2+k);} int main() { scanf("%d %d",&n,&k); print...
2021-08-15 22:20:20
435
原创 对数方程
#include <stdio.h>#include <math.h>#define EPSILON 1e-7double bisection(double a, double (*func)(double, double));double f(double a, double x);int main() { double a; scanf("%lf",&a); printf("%lf\n", bisection(a, f));...
2021-08-15 22:19:23
717
原创 陶陶摘苹果
#include<stdio.h>int main(){ int distance[10]; int hand; int cnt=0; for(int i=0;i<10;i++) {scanf("%d",&distance[i]);} scanf("%d",&hand); for(int i=0;i<10;i++){ if((hand+30)>=distance[i]) cn...
2021-08-15 22:18:18
100
原创 二分查找(六)
#include<stdio.h>void ShellSort(long long a[],long long n){ long long i,j; long long d; long long tmp; d=n/2; while(d>0) { for(i=d;i<=n;i++) { tmp=a[i]; j=i-d; while(j>=0&&tmp<a[j]) { a[j+d]=a[j];...
2021-08-15 22:17:13
152
原创 二分查找(五)
#include<stdio.h>void ShellSort(long long a[],long long n){ long long i,j; long long d; long long tmp; d=n/2; while(d>0) { for(i=d;i<=n;i++) { tmp=a[i]; j=i-d; while(j>=0&&tmp<a[j]) { a[j+d]=a[j];...
2021-08-15 22:16:35
180
原创 二分查找(四)
#include<stdio.h>void ShellSort(long long a[],long long n){ long long i,j; long long d; long long tmp; d=n/2; while(d>0) { for(i=d;i<=n;i++) { tmp=a[i]; j=i-d; while(j>=0&&tmp<a[j]) { a[j+d]=a[j];...
2021-08-15 22:15:53
161
原创 二分查找(三)
#include<stdio.h>void ShellSort(long long a[],long long n){ long long i,j; long long d; long long tmp; d=n/2; while(d>0) { for(i=d;i<=n;i++) { tmp=a[i]; j=i-d; while(j>=0&&tmp<a[j]) { a[j+d]=a[j];...
2021-08-15 22:14:55
175
原创 二分查找(二)
#include<stdio.h>void ShellSort(long long a[],long long n){ long long i,j; long long d; long long tmp; d=n/2; while(d>0) { for(i=d;i<=n;i++) { tmp=a[i]; j=i-d; while(j>=0&&tmp<a[j]) { a[j+d]=a[j];...
2021-08-15 22:14:17
152
原创 二分查找(一)
#include<stdio.h>void ShellSort(long long a[],long long n){ long long i,j; long long d; long long tmp; d=n/2; while(d>0) { for(i=d;i<=n;i++) { tmp=a[i]; j=i-d; while(j>=0&&tmp<a[j]) { a[j+d]=a[j];...
2021-08-15 22:13:35
109
原创 找质数((
一天蒜头君猜想,是不是所有的偶数(除了22),都可以用两个质数相加得到呢?于是聪明的蒜头君就找你来验证了。输入格式第一行输入一个整数tt表示测试组数。接下来tt行,每行一个整数nn。输出格式输出两个整数,因为答案可能有多个,所有要求输出的这两个整数是所有答案中字典序最小的。数据范围对于30\%30%的数据1 \le t \le 10^31≤t≤103。对于60\%60%的数据1 \le t \le 10^51≤t≤105。对于100\%100%...
2021-08-15 22:08:21
152
原创 成绩排序(
小蒜给出了班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。输入格式第一行为n(0 < n < 20)n(0<n<20),表示班里的学生数目;接下来的nn行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过2020,成绩为一个不大于100100的非负整数。输出格式把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。#include<s...
2021-08-01 15:45:16
2168
3
原创 整数奇偶排序
蒜术师给了你一个1010个整数的序列,要求对其重新排序。排序要求: 奇数在前,偶数在后; 奇数按从大到小排序; 偶数按从小到大排序。 输入格式输入一行,包含1010个整数,彼此以一个空格分开,每个整数的范围是大于等于00,小于等于100100。输出格式按照要求排序后输出一行,包含排序后的1010个整数,数与数之间以一个空格分开。#include<stdio.h>int main(){ int data[100]; ...
2021-08-01 15:44:33
700
原创 病人排队(
病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:老年人(年龄\ge 60≥60岁)比非老年人优先看病。 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。 非老年人按登记的先后顺序看病。输入格式第11行,输入一个小于100100的正整数,表示病人的个数;后面按照病人登记的先后顺序,每行输入一个病人的信息,包括:一个长度小于1010的字符串表示病人的 ID(每个病人的 ID 各不相同且只含数字和字母),一个整数表示病人的年龄(不超过10...
2021-08-01 15:44:02
344
原创 生日相同(
在一个有180180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的名字,出生月日。试找出所有生日相同的学生。输入格式第一行为整数nn,表示有nn个学生,n \le 180n≤180。此后每行包含一个字符串和两个整数,分别表示学生的名字(名字第一个字母大写,其余小写,不含空格,且长度小于2020)和出生月 (1 \le m \le 121≤m≤12) 日 (1 \le d \le 311≤d≤31)。名字、月、日之间用一个空格分隔。输出格式每组生日相同的...
2021-08-01 15:43:16
993
原创 绝对值排序
输入n(n \le 100)n(n≤100)个整数,按照绝对值从大到小排序后输出。题目保证所有的数的绝对值都不相等。输入格式第一个数字为nn,接着是nn个整数。输出格式输出这nn个整数排序后的结果。#include<stdio.h>#include<math.h>struct Data{ int fab; int sign;}data[1000];struct Data tmp;int main(){ int ...
2021-08-01 15:42:30
353
原创 排队接水(
有nn个人在一个水龙头前排队接水,假如每个人接水的时间为t_iti,请编程找出这nn个人排队的一种顺序,使得nn个人的平均等待时间最小。输入格式第一行一个整数n\ (1 \le n \le 1000)n(1≤n≤1000),表示排队的人数。第二行nn个整数t_i\ (1\le t_i \le 10^6)ti(1≤ti≤106),表示每个人接水的时间。输出格式第一行为一种排队顺序,即11到nn的一种排列;第二行为这种排列方案下的平均等待时间(输出...
2021-08-01 15:41:51
397
原创 蒜头君爬楼梯
蒜头君很喜欢爬楼梯,这一次,他获得了一个特异功能,每次可以跳跃任意奇数的阶梯。比如他初始在楼底,跨越一个阶梯到达11号阶梯,或者跨越33个楼梯到达33号阶梯。如下图为了选出一种最轻松的爬楼梯的方式,蒜头君想把所有不同的到达楼顶的方式都尝试一遍。对于一共有nn个阶梯的楼梯,蒜头君一共有多少总方法从楼底到达楼顶。由于最后答案可能很大,输出最后的答案对100007100007取模的结果。输入格式第一行输入一个整数n(1 \le n \le 1000)n(1≤n≤1000)...
2021-08-01 15:41:01
223
原创 弹簧板(加强)
有一个小球掉落在一串连续的弹簧板上,小球落到某一个弹簧板后,会被弹到某一个地点,直到小球被弹到弹簧板以外的地方。假设有nn个连续的弹簧板,每个弹簧板占一个单位距离,a[i]a[i]代表代表第ii个弹簧板会把小球向前弹a[i]a[i]个距离。比如位置11的弹簧能让小球前进22个距离到达位置33。如果小球落到某个弹簧板后,经过一系列弹跳会被弹出弹簧板,那么小球就能从这个弹簧板弹出来。现在希望你计算出小球从任意一个弹簧板落下,最多会被弹多少次后,才会弹出弹簧板。输入格式第一个行...
2021-08-01 15:40:16
140
原创 蒜头君的最大子段和
蒜头君拿到了一排数,他想知道其中的最大非空子段和是多少。输入格式第一行输入一个整数nn代表这排数的个数。第二行输入nn个整数a_1,a_2,a_3\cdots a_na1,a2,a3⋯an,分别代表nn个数。(1 \leq n \leq 10^6,-10^9 \leq a_i \leq 10^91≤n≤106,−109≤ai≤109)输出格式输出一个整数,代表最大非空子段和,占一行。#include<stdio.h>int main(){...
2021-08-01 15:39:28
234
原创 校门外的树
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是11米。我们可以把马路看成一个数轴,马路的一端在数轴00的位置,另一端在LL的位置;数轴上的每个整数点,即00,11,22,\cdots⋯,LL,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。输入格式...
2021-08-01 15:38:38
170
原创 数字反转(
#include<stdio.h>int main(){long long n,m;scanf("%lld",&n);m = 0;while(n){m=10*m+n%10;n/=10;}printf("%lld\n",m);return 0;}
2021-07-23 22:55:35
156
原创 [NOIP2006]明明的随机数
#include<stdio.h>int main(){ int n; int i,j; int cnt=0; int x; int a[1000],tmp; scanf("%d",&n); for(i=0;i<n;i++,cnt++){ scanf("%d",&a[cnt]); for(j=cnt-1;j>=0;j--){ if(a[j]==a[c...
2021-07-23 22:54:08
177
原创 中心矩阵(
#include<stdio.h>int main(){ int n,i,j,k; int a[1000][1000]={0}; scanf("%d",&n); int max=(n+1)/2; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { for(k=1;k<=max;k++) { ...
2021-07-23 22:52:53
1971
原创 最大子矩阵
#include<stdio.h>int main(){ int m,n,i,j; long long max=-1; int maxi,maxj; scanf("%d%d",&m,&n); long long a[m][n]; long long b[m][n]; //m,n为子矩阵左上角元素 for(i=0;i<m;i++) for(j=0;j<n;j++) s...
2021-07-23 22:52:06
210
原创 矩阵蛇形输出
#include<stdio.h>int main(){ int m,n,j,k; long long a[100][100]; scanf("%d%d",&m,&n); for(j=0;j<m;j++) for(k=0;k<n;k++) scanf("%lld",&a[j][k]); j=0; k=0; printf("%lld ",a[j]...
2021-07-23 22:51:16
692
原创 大数的奇偶性判断
#include<stdio.h>int main(){ char str[10000]; scanf("%s",str); int i=0,j; while(str[i]!='\0'){ j=i; i++; } if(str[j]%2==0) printf("YES"); else printf("NO"); return 0;}
2021-07-23 22:49:40
224
原创 字符替换(
把一个字符串中特定的字符全部用给定的字符替换,得到一个新的字符串。输入格式只有一行,由一个字符串和两个字符组成,中间用单个空格隔开。字符串是待替换的字符串,字符串长度小于等于3030个字符,且不含空格等空白符;接下来一个字符为需要被替换的特定字符;接下来一个字符为用于替换的给定字符。输出格式一行,即替换后的字符串。#include<stdio.h>int main(){ char str[30]; char x,y; ..
2021-07-23 22:48:31
1866
1
原创 整理药名(
医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。如将"ASPIRIN"、"aspirin"整理成"Aspirin"。输入格式第一行一个数字nn,表示有nn个药品名要整理,nn不超过100100。接下来nn行,每行一个单词,长度不超过2020,表示医生手书的药品名。药品名由字母、数字和-组成。输出格式nn行,每行一个单词,对应输入的药品名的规范写法。...
2021-07-23 22:47:28
393
原创 过滤多余的空格
一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。输入格式一行,一个字符串(长度不超过200200),句子的头和尾都没有空格。输出格式过滤之后的句子。#include<stdio.h>int main(){ char str[2000],s[2000]; gets(str); int i=0,j=0; int x=0; while(str[i]!='\0'){ if(str[i]==' '&.
2021-07-23 22:46:19
451
原创 最长最短单词
输入11行句子(不多于200200个单词,每个单词长度不超过100100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。试输出第11个最长的单词和第11个最短单词。输入格式一行句子。输出格式两行输出:第11行,第一个最长的单词。第22行,第一个最短的单词。提示如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。#include<stdio.h>#include<stri...
2021-07-23 22:36:47
1493
原创 单词翻转(
输入一个句子(一行),将句子中的每一个单词翻转后输出。输入格式只有一行,为一个字符串,不超过500500个字符。单词之间以空格隔开。输出格式翻转每一个单词后的字符串,单词之间的空格需与原文一致。注意字符串开头和结尾可能有空格。#include<stdio.h>#include<string.h>int main(){ char str[510],ctr[510]; int j=0; gets(str); int n=strlen(s..
2021-07-22 11:09:09
589
1
原创 寻找最低数
给你一个正整数A(1 \le A \le 100)A(1≤A≤100),输出AA的最低数。例如,给你A=26A=26,我们可以将AA化成二进制为1101011010,则AA的最低数是1010,输出1010的十进制为22。再例如,给你A=88A=88,我们可以将AA化成二进制为10110001011000,则AA的最低数是10001000,输出为88。输入格式输入包含多组测试样例。每行输入一个正整数A(1 \le A \le 100)A(1≤A≤10...
2021-07-22 11:07:15
906
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人