
洛谷
@大愚@
追光的人
展开
-
特殊回文数
思路:五位和六位的区别就是看第一位是否为0#include <stdio.h>int main(){ int num; int i; int a,b,c,d,e,f; scanf("%d",&num); for(i = 10000;i <= 999999;i ++) { a = i % 10; ...原创 2020-03-17 21:10:48 · 115 阅读 · 0 评论 -
洛谷P1307
思考:我认为这道题的重点是关于0的取舍当结尾出现0时当翻转过来时要被舍弃在0再中间的时候不能被舍去我们发现当翻转后的第一个数不为0的时候,那他后面的0不能舍弃#include <stdio.h>int main(){ int num; int sum = 0; int i = 0,j; int b = 0; int str[100]; ...原创 2020-02-26 21:29:13 · 334 阅读 · 0 评论 -
洛谷 P1914 小书童——密码
思路:看起来很简单就是让字符+n,然而加的时候要注意字母最大是z,再加就再次循环所以字符 - a得到字母现在的位置再加n得到他变化后的位置,再对26取余看看他在a的基础上加了多少在 + a方法1#include <stdio.h>#include <string.h>int main(){ int n; int i; char num[6...原创 2020-01-05 11:51:38 · 340 阅读 · 0 评论 -
洛谷 P2141 珠心算测验
思路:用来个for循环来模拟两个不同的加数的相加过程,前方高能“其中有多少个数,恰好等于集合中另外两个(不同的)数之和”,多少个数,所以每个数只能用一次,即1 + 4 = 5 和 2 +3=5其实是一种,所以我们要标记被我们用过的数组元素,所以需要第二个数组用来标记的方法一#include <stdio.h> int num1[101];int main(){ in...原创 2020-01-03 13:11:35 · 350 阅读 · 0 评论 -
洛谷 P1428 小鱼比可爱
思路:用两个for循环外层循环访问数组里面的数,内存循环访问其左端的数#include <stdio.h>int main(){ int a[101]; int i,j; int count = 0; int num;//鱼的总数 scanf("%d",&num); for(i = 0;i < num;i ++) ...原创 2019-12-27 22:35:22 · 1204 阅读 · 0 评论 -
洛谷 p1424 小鱼的航程
思路:用一个for循环进行判断,因为他是双休所以判断天数是否为周末即可#include <stdio.h>int main(){ int day; int days; int i; int count = 0; scanf("%d %d",&day,&days); for(i = day;i < days ...原创 2019-12-26 23:29:05 · 230 阅读 · 0 评论 -
洛谷 P1980计数问题
思路:这个程序的目的是统计数字出现的次数,所以我们可以在一个函数中实现这个功能#include <stdio.h>int chazhao(int x,int z);int main(){ int m,n; int i; int sum = 0;//统计个数 scanf("%d %d",&n,&m); for(i = 1;...原创 2019-12-25 22:44:55 · 319 阅读 · 0 评论 -
洛谷1304 哥德巴赫猜想
思路:判断两个数是否为素数j#include <stdio.h>#include <math.h>int sushu(int x);int main(){ int N; int i,num1,num2; int x1,x2; printf("请输入一个数:"); scanf("%d",&N); for(i ...原创 2019-12-17 11:59:55 · 447 阅读 · 0 评论 -
洛谷 P1319压缩技术
#include <stdio.h>int main(){ int shu[201]; int i,j; int num = 0; int n; int x = 0; int t = 0; scanf("%d",&n); for(i = 0;;i ++) { scanf("%d",&a...原创 2019-12-09 22:14:14 · 967 阅读 · 1 评论 -
洛谷 P1116 车厢重组
思路:从"相邻两节车厢的位置交换"和"车厢按车厢号从小到大排列"我们的脑海中可能会浮现我们的基础算法冒泡排序,因为冒泡排序的原理就是交换两者的位置,所以直接用冒泡即可#include <stdio.h>int main(){ int n; int i,j,k = 0; int num[10001]; int temp; scanf("%d...原创 2019-12-09 20:57:18 · 404 阅读 · 0 评论 -
洛谷 P1028数的计算
思路: F[0] = 1 F[1] = 1F[2] = 2 F[3] = 2F[4] = 4 F[5] = 4F[6] = 6 F[7] = 6规律:如果i为偶数:F[i] = F[i - 1] + F[i / 2]奇数:F[i] = F[i - 1]#include <stdio.h>int main(){ int n; int ...原创 2019-12-09 20:20:27 · 194 阅读 · 0 评论 -
洛谷P1179 数字统计
思路:就是取余和除的合理利用,我们可以自定义一个函数。通过传值来判断,因为形参相当于实参的副本所依形参变化实参并不会受到影响2#include <stdio.h>int str(int w);int main(){ int l,r; int i; int x; int num = 0; scanf("%d %d",&l,&...原创 2019-12-05 22:21:20 · 474 阅读 · 0 评论 -
洛谷P1420 最大连号
思路:就是比较上一个数加一是否等于后一个数#include <stdio.h>int main(){ int n;//总数据的个数 int a[10001];//记录次数 int b[10001]; int k = 1; int x = 0; int i; int max; scanf("%d",&n);...原创 2019-12-05 22:12:17 · 424 阅读 · 0 评论 -
洛谷 P1109 学生分组
思路:学生分组总的来说他肯定是会是学生人数在下限和上限之间,我们会发现只要让其他的数据在这个范围内即可,所以我们分别记录低于下限有多少人,高于上线得有多少人,我们会发现只要上限或下限两者人数多的那个回到这个范围就了,还有一种特殊情况就是上,下限相同的情况,我们要来判断上下限相同即为平均值所以我们要判断一下#include <stdio.h>int main(){ int...原创 2019-12-03 18:42:27 · 503 阅读 · 0 评论 -
洛谷 P1152 欢乐跳
思路:题目说是包括中间所有的整数所以我们会想用两个数组进行比较只要有一个不同的那就不符合,那咋比较了因为两个数组里面的元素的顺序不同所以我们要让他顺序相同,所以对坐差的数组进行从小到大的排序,后面的就天机不可泄露啊(__) 嘻嘻……#include <stdio.h>int main(){ int a[101];//存放输入得数 int b[101];//存放输...原创 2019-11-28 17:40:34 · 621 阅读 · 0 评论 -
洛谷 P1151字数整数
思路:通过对取余数运算和去尾运算的合理利用#include <stdio.h>#include <stdlib.h>/***输入格式一个正整数K输出格式每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。**/int main(){ int i; int a,b,c; int k;...原创 2019-11-27 22:03:34 · 330 阅读 · 0 评论 -
洛谷 P1146
#include <stdio.h>#include <stdlib.h>int main(){ int n;//输入硬币的个数 int i,j; int k = 0; int num[102][102]; scanf("%d",&n); //让数组表示硬币正面朝上 for(i = 0;i < ...原创 2019-11-26 22:52:12 · 286 阅读 · 0 评论 -
洛谷 P1426
#include <stdio.h>#include <stdlib.h>#include <math.h>/***有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每秒游的距离只有前一秒的98%。有个极其邪恶的猎人在距离A处右边s米的地方,安装了一个隐蔽的探测器,探测器左右x米之内是探测范围。一旦小鱼进入探测器的范围,探测...原创 2019-11-25 22:53:21 · 290 阅读 · 0 评论 -
洛谷 P1075
#include <stdio.h>int main(){ int n; int i; scanf("%d",&n); if(n <= 2) { printf("%d",n); } else { for(i = 2;i < n;i ++) { ...原创 2019-11-24 16:53:44 · 570 阅读 · 0 评论 -
洛谷 P1276
思路:其实无论他砍的区间是哪结果都是砍了所以我们只要知道那些是砍过的,就可以啦,所以我们把没有砍过的和砍过的分别标记为不同的数,同理我们也将树苗和成年数进行标记,题目让你求的是留下的树苗的个数,留下的前提·是你要有所以求一下在砍掉得树的地方有几个新树苗,在记录一下到最后还剩下几个新树苗#include <stdio.h>#include <stdlib.h>int ...原创 2019-11-21 23:29:07 · 247 阅读 · 0 评论 -
洛谷 P1007 独木桥
思路:士兵过独木桥,如果两个人相遇后两个人就互换位置,其实我们可以把其抽象出来,我们可以把士兵看成一个透明的人,因为相遇两者就换方向,那和一个人一直往前走没啥区别所以可以抽像出来,最短的时间是所有人中最短时间中最大的,同理最长的时间也是如此#include <stdio.h>int main(){ int longs;//桥的长度 int peoples;//在桥...原创 2019-11-19 23:10:10 · 248 阅读 · 0 评论 -
洛谷 P1003 铺地毯
思路:如果把要铺的地点抽象为一个二维坐标系的第一象限,通过用户输入的地毯左下角的坐标,和其距x,y的距离可以求出来地毯的右上角的坐标,如果用户输入的点在这个区域,那必须满足其横坐标要大于左下角的横坐标且小于·右上角的横坐标,而其的纵坐标要满足大于左下角的纵坐标,小于右上角的纵坐标#include <stdio.h>int main(){ int x[100001]; ...原创 2019-11-18 21:12:21 · 132 阅读 · 0 评论 -
洛谷 P1181
思路题目要求分段,但有一个隐含条件那就是他本身就是一条线,所以记录段数的变量初值因该为1开始比较几个数的和大于用户输入的最大值此时就可以分段了,而这时需要将前几个数的和归0,因为前几个数从第i个元素开始已经世上一段,需要在开辟新的来存放新的数,从使前段开始分段的i开始判断#include <stdio.h>int main(){ int n;//输入数字的个数 ...原创 2019-11-17 22:41:22 · 315 阅读 · 0 评论 -
洛谷 P1296
**思路根据题目可知要求可以互相交流的奶牛1,开始时乱序,我们需要先排序2,我们找这个元素加上传播距离包含几个奶牛**#include <stdio.h>int main(){ int a[100001]; int num;//总有几个奶牛 int n;//声音的范围 int i,j; int x = 0;//可以交流的奶牛 ...原创 2019-11-15 21:05:17 · 284 阅读 · 0 评论 -
洛谷 P1138
前方高能思路是:首先我们来分析一下,在一个有重复数的数组中要找到用户输入的第几个最小值,我们首先想到的是将数组排好序,用户找第几个最小值我们就让第几个最小值减1让其等于该下标,输出即可但是,在这个数组中有重复的数,我们要排序有去除这些重复的数或则是把不同的数往前排;就是把不同的是数放在前面,然后我们比较遍历整个数组找不同的数,将其提前,然后在排序#include <stdio.h>...原创 2019-11-15 08:45:18 · 461 阅读 · 0 评论 -
洛谷 P1055 ISBN号码
我们知道ASCII表连接起了字符与数字的关系#include <stdio.h>int main(){ char a[13]; int i; int j = 1; int num = 0;//总和 for(i = 0;i < 13;i ++) { scanf("%c",&a[i]); i...原创 2019-11-14 10:52:18 · 173 阅读 · 0 评论 -
洛谷P1200,你的飞碟在这
思路:需要三个数组,一个用来存放彗星名,一个小组名。还一个是存放从A到Z之间的26个字母;通过数组遍历比较可以做出来`在这里#include <stdio.h>#include <string.h>int main(){ char name1[6];//小组名 char name2[6];//彗星名 char jm[27] = "ABCDEF...原创 2019-11-13 22:09:09 · 397 阅读 · 0 评论 -
洛谷 P2705
思路:把球放在盒中就两种情况,1各回各家,2,就是去了别人家2 * E和 C + D比较你回错家意味别的小孩只能去你家了那就是有两个小孩回错家了·所以要乘二#include <stdio.h>int main(){ int R;//红球的个数 int B;//蓝球的个数 int C; int D; int E; int grad...原创 2019-11-12 23:34:53 · 298 阅读 · 0 评论 -
洛谷 P1047
*思路是:我们可以让所有的树木都等于1,再把从起点到终点的树木让其等于其他值,在遍历整个树木数组找不等于上一步赋值的值*#include <stdio.h>int main(){ int tree[10000];//马路的长度 int mons;//树木的总数 int left,right; int i,j; int m;//地铁的个数 ...原创 2019-11-12 00:07:44 · 659 阅读 · 1 评论 -
洛谷P1534
#include <stdio.h>#define N 3000int main(){ int time[N];//在学校上课的时间 int time1[N];//补课的时间 int unhappy = 0;//今天不高兴的值 int unhappys = 0;//不高兴程度的和 int i; int n; //录入每天学习...原创 2019-11-10 17:05:53 · 288 阅读 · 0 评论 -
洛谷 P1150 Peter的烟
/*Peter 有n根烟,他每吸完一根烟就把烟蒂保存起来,k(k>1)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢?*/#include <stdio.h>int main(){ int n;//有几个烟 int k;//几个烟蒂换一个 int s;//总烟数 int i;//除去第一次要自己买的烟 int j;...原创 2019-11-08 08:27:41 · 357 阅读 · 0 评论 -
洛谷 P1909买铅笔
#include <stdio.h>int main(){ int num;//铅笔的需求量 int a;//每袋中铅笔的个数 int j;//最初要买多少包 //int c;//除了整包后还需要几支 int b;//每袋铅笔的价格 int i; //double money;//单价 int moneys;//每一种...原创 2019-11-05 23:34:10 · 309 阅读 · 0 评论 -
洛谷P1089,津津的储蓄计划
**通过题目我们可知:思路如下:1,她每月的钱是有上个月剩下的加上这个月她得到的300元两部分构成的2,再想上个月能剩下多少钱了(1)能存钱的基础上剩下的(2)不能存钱剩下的3,思考这个月能存多少钱,前提是要是整百的所以我们就要判断了注意前方高能:最后一次剩下的钱也是她这一年收获的 **#include &l...原创 2019-11-05 16:53:39 · 386 阅读 · 0 评论 -
洛谷P1422 小玉家电费
#include <stdio.h>int main(){ double money;//总费用 int sum;//总电费 scanf("%d",&sum); if(sum <= 150) { money = sum * 0.4463; } else if(sum >= 1...原创 2019-11-04 22:44:00 · 795 阅读 · 0 评论 -
洛谷P1085,不高兴的津津
#include <stdio.h>int main(){ int i; int a[7]; int b[7]; int max = 8;//最大的值 int d = 0;//有最大值得天数 int j = 0;//天数 for(i = 0;i < 7;i ++) { scanf("%d %d...原创 2019-11-04 22:25:10 · 198 阅读 · 0 评论 -
洛谷 p1035 级数求和
#include <stdio.h>int main(){ int i;//循环变量 int k;//用户输入的值 double s = 0.0;//所求的值 scanf("%d",&k); for(i = 1;;i ++) { s = s + (1.0 / i);//为啥是1.0? if(...原创 2019-11-01 21:34:15 · 173 阅读 · 0 评论