![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
日志
uduck不必
这个作者很懒,什么都没留下…
展开
-
、、24、、质数筛???
我看了一下,质数,老盆友了,让我打了许许多多的代码,就为了把这个素数给选粗出来,我看了下面这个题目,觉得很是熟悉。。bool类型一选择,输出的0或1作为判断条件,然后他在出来数据,不就好了吗。没有多想,直接上手,打了一个代码,感觉不错,因为,它过了#include<iostream>#include<cmath>using namespace std;bool isprime(int x){ if(x<=1) return false; for(int i=2原创 2020-07-24 20:34:05 · 95 阅读 · 0 评论 -
、、23、、一尺之棰
代码如下:# include <iostream># include <stdio.h>using namespace std;int a, ans = 1;int main () { scanf ("%d", &a); while (a > 1) { ans++; a /= 2; } cout << ans << endl; return 0;}简单至上。原创 2020-07-22 22:40:31 · 138 阅读 · 0 评论 -
、、22、、认单词。。
今日题目:开始的时候,很自然的使用了string,虽然题目本来也说要用到,不过,这就掉入了它的第一个坑,因为输入的数据有空格,所以录入的时候只会录入打进去的第一个完整的单词。 为了解决这个问题,就要使用string头文件里面的函数,也是第一个用到的函数getline(cin,a) 这个就是对字符串a下一个cin的指令。接着是后面的函数,s.length()、tolower(s[i]),这个在之前的博客里面说过,不过哪个里面是cctype的使用。还有一个b.find(a).在b里面找符合a的数据,下面原创 2020-07-20 20:48:31 · 79 阅读 · 0 评论 -
、、21、、stack栈
没有专门看过有关栈的资料,今天做了两个题目,看题解的时候发现了这个神奇的东西。stack就是一个储存空间的意思,然后特殊点的就是,在存储数据的时候每一次只能将数据放在最上面,而且在取出的时候也是只能够在最上面取出,这就符合一些特殊题目的特殊情形,例如下面这个:我是觉得用数组做这个题目也是可以的,但是我将代码打上去之后,全部的显示都是RE,我一脸懵逼。然后去题解区看了一下,发现了stack的一个代码:#include<bits/stdc++.h>#include<stack&g原创 2020-07-19 13:28:07 · 78 阅读 · 0 评论 -
、、20、、密码。。。
今日题目,用入门就把我搞到了。。有点无奈啊;题目如下:如果这个题目可以用string类来输出的话,就会容易一点了。开始我就加了一个string类的数组,里面是26位英文字母,但是在输出的时候,结果判错了,我就找了一下题解;#include <stdio.h>int main(){ char in[100]; int n, j; scanf("%d%s", &n, in); //读入 for(j = 0; in[j] != '\0'; j原创 2020-07-18 21:12:37 · 99 阅读 · 0 评论 -
、、19、、字母大小的转换
将大写字母转换为小写,使用 “cctype” 头文件和 “string” 头文件;使用了toupper()这个函数可以将小写字母转换为大写的字母函数内容如下:int toupper(int c) { if ((c >= 'a') && (c <= 'z')) return c + ('A' - 'a'); return c; }然后,整个的代码就是:#include<iostream>#include原创 2020-07-18 10:47:53 · 164 阅读 · 0 评论 -
、、18、、什么叫惊喜?这就是惊喜!
我觉得今天是我的幸运日啊,运行了两个题目都全过了。nice,兄弟;今天记得题目如下:这个号码,一共有13个字符,所以可以使用string类直接弄成一个大小为13的数组,不过这样在输入的时候会需要for循环,我尽量避免了for循环的出现,为了压缩运算复杂度嘛;然后就是对里面每一个数据的判断,是 ‘0’ 到 ‘9’ 的字符就进行累乘的操作,然后得到一个记录大小的sum的值。然后就是使用sum5%11的结果来和最后一个字符与‘0’的差值比较,看看是否对等,是的话就是输出right,不是的话,就需要改掉最后一原创 2020-07-17 18:46:24 · 116 阅读 · 0 评论 -
、、17、、质数的输出
质数,在我之前的C语言课上就已经学过了,今天的题目与他有关:总结一下意思:你输入一个数,记作L;接着需要你从2开始将质数给累加起来,这个累加的和不得超过L,就是说不能有越界的操作;然后,将得到的所有质数挨个输出,并且输出质数的个数,得到结果。其中判断是否为质数就是一个需要高精的算法了,不然又过不了测试点。我的代码如下:#include<iostream>using namespace std;int sum =2;int L, m=0;int F(int n) { if (n原创 2020-07-16 18:00:49 · 255 阅读 · 0 评论 -
、、16、、字符串倒置,,这么难吗?
today,is a good day;遇到了就是遇到了,,今天的题目,如下:如图一样可以输出这些结果就OK。使用一个string类的字符串,存下所有的字符;然后筛选出一个不属于数字的符号,用一个char类型来保存,顺便记录这个符号所在的位置和下标;接着就是逆置,分两块逆置,符号前面的和符号后面的;在逆置之后需要的就是删除首位为0的字符,(我没有想到删掉的方法,只想到了把所有的数据前移这样的粗糙方法),需要注意的就是分清楚前面和后面两个部分的初始下标和救赎下标。我的代买如下:#includ原创 2020-07-15 21:36:09 · 95 阅读 · 0 评论 -
、、15、、有些简单的问题摆到了一起
今天的题目,没有那么变态,不过,这个题目一多了就难的弄让我怎么都没有想到的是,这个题目不需要我们去斜程序,需要的只是一个又一个输出,确实很无脑,代码在下:#include<iostream>#include<cstdio>#include<cmath>using namespace std;int main() { int T; cin >> T; if (T == 1) { cout <<原创 2020-07-14 17:45:00 · 79 阅读 · 0 评论 -
、、14、、多做几道也一样吧
今天的题目:这里的添加啊什么的一下子就可以得到,不过在选择算法的时候,需要快一点的速度#include<iostream>using namespace std;int main(){ int x;cin>>x; if(x==1||x==0) cout<<"Today, I ate "<<x<<"apple"<<endl; if(x>1)cout<<"Today, I ate "<<x<原创 2020-07-13 21:54:50 · 84 阅读 · 0 评论 -
、、13、、快速排序第一步
之前在学校学习排序的时候使用的都是一些需要俩个for循环的排序,叫做冒泡排序,或者起泡排序,代码如下:for(int i=1;i<=n;i++){ for(int m=1;m<=n;m++){ if(a[m]>a[m+1]){ int temp=a[m]; a[m]=a[m+1]; a[m+1]=temp; } }}这样确实可以得到想要的结果,不过在运行的时候程序原创 2020-07-12 19:47:47 · 172 阅读 · 0 评论 -
、、12、、循环摘苹果
今日题目如下:一个for输入,一个for加判断就可以出来:#include<iostream>using namespace std;int main(){int a[10];for(int i=0;i<10;i++) cin>>a[i];int n;cin>>n;int k=0;for(int i=0;i<10;i++){if(n+30>a[i]) k++;}cout<<k; return 0;}简单明了。原创 2020-07-11 15:11:53 · 157 阅读 · 0 评论 -
、、11、、最大的数?
将几个数拆开组成最大的一个数,是一个小学就遇到的过的问题,对于我们人来说,数值都是有大小,每一个数所在的位置比如个位和十位就表示了两个大小。今天的题目就是希望能够教会电脑学会怎么去拼凑出一个最大的数,而每一个数都是自己输入的,题目如下:如果说这里使用了int类型的数组,就会出现一个数组内存无法储存数据的情况,于是可以使用string类型的数组来记录数据。代码如下:#include<iostream>#include<string>#include<algorithm原创 2020-07-10 16:17:39 · 227 阅读 · 0 评论 -
、、10、、暴力枚举
暴力是一种有着特殊美学意义的事物,对于许多东西,在需要进行计算的时候,将其所有的组合给排列出来也是一种很好的选择,今天的题目,是一个希望计算火柴可以摆出的等式的个数;题目如下:挺麻烦的地方在于,每一个数需要的火柴数其实是没有规律的,在想要得到一个等式的话,就要有可以将所有火柴转换成数字的一个数组;于是衍生数一个想法,用数组来表示每一个数需要的火柴数:num【10】={6,2,5,5,4,5,6,3,7,6}然后加上一个算法,从1开始枚举出每一个符合算法等式的几个数,而且满足题目的要求,代码如下:原创 2020-07-08 17:40:50 · 119 阅读 · 0 评论 -
、、9、、今日的代码,参上
算数字之间的差值是很基本的操作,今天的题目讲的就是怎么计算多个数之间满足差值的数的对数,比如4个数 1 1 2 3 满足差值为1 的对数,为3,情况就是:2-1=1,2-1=1,3-2=1,一起三组,基本概念是有了,不过要转换成电脑可以读懂的代码就需要换一个思路,题目如下:我没有转换出一个合适的思路,不过,在题解里面看到了一个使用了STL的算法,觉得以后可以在数组里面试试,先说思路:首先当然是设立基本的数组储存数据,然后运用了algorithm的函数,将输入的数组内的数据进行了排序,从小到大最后原创 2020-07-07 10:53:50 · 90 阅读 · 0 评论 -
、、8、、着实让人头疼的代码
今天见到的代码,是一个普及-的类型的,虽然思路清晰,不过,我这个老是在实现的时候出错,这个习惯真的不好,,,下面是题目:着实捉急呢,这个东西,我的构思,大致分三块:1、存储数据的2个数组:一个char类型的,大小为50;另外一个是int类型,大小为100,刚好存着这个需要的两个运算符2、判断这个输入的字符是哪一个a 或b或c ,然后分别输出里面需要的结果模式,对于小于0的数,在输出的结果上加一即可。3、将每一个输入的运算数给判断为几位数,然后使用在2里面的判断中。苦思冥想,两个数组,两个判断条件原创 2020-07-06 22:02:24 · 94 阅读 · 0 评论 -
、、7、、添加字符的小事情
今天,题目:对一个字符串累加就OK了#include<iostream>#include <stdio.h>int main(){ char in[100]; int n, j; cin>>n>>j; for(j = 0; in[j] != '\0'; j++) putchar((in[j]-'a'+n)%26+'a'); }今天只好水一次了。...原创 2020-07-05 19:59:27 · 98 阅读 · 0 评论 -
、、6、、奇了怪了的数组
算数难吗?不难,用数组来分别计算什么的,一下就可以出来。我这样一个一个改数字的结果,已经简化了很多了,,,以下是题目:对l和m有数的大小要求,一个是10000,一个是100,都不大,所以我用了一个10000的数组来记录每一颗树的位置,其中的0或1表示它有没有被砍掉;如下#include<iostream>using namespace std;int main(){ int a[10000]; int m, l, min, max, p = 0; cin >>原创 2020-07-04 20:09:37 · 92 阅读 · 0 评论 -
、、5、、回文数的一道题目
回文数就是形似“12345678987654321”一样金字塔型的数字,是模型题目考察的常客了,许多题目都是基于这个来演变的。下面是例题:这个程序,分析一下,按照我的水准,就直接当作十位进制来算就好了,于是我就构思了三个模块:1、回文数的判断 (如果是回文数了,就直接输出0,如果不是就在接着弄下面的函数)2、将输入的数和逆置之后的数加起来,再判断3、输出累加的次数。当然,我想的确实是太简单了,思路应该是对的,不过脑子里装的一些代码或者头文件,确实太少了,下面是我的代码:#include<原创 2020-07-03 22:29:56 · 229 阅读 · 0 评论 -
、、4、、显示屏的关键要素,显示数字
做一个数学题目很简单,按照公式来计算就可以了,空间想象画图就饿可以表示,但是想要一个显示屏来出现想要的图片,需要一个代码。这次的题目如下:不得不说,我真的觉得这是一个枚举的题目。对数组里面的数字进行判断,每一个每一个数字对应一个结果。定义一个char类型的数组,其大小为char b【5】【4】,然后对应一的时候将里面的每一个元素更新为想要的那个,最后在进行输出,代码如下:#include<iostream>#include<string>using namespace s原创 2020-07-02 18:14:59 · 200 阅读 · 0 评论 -
、、3、、这要命的循环
今天下午做题目,刷到循环的题目了,不过让人难受的是,循环没有那么容易,下面是题目:开始直接思考的就是用一个嵌套,for里面再套一个for循环,这样就成功的把所有的数据都计算了一遍,不过这个算法的运行用次数n的n次方,于是就超时了,超时的算法都不算是好算法,于是我做了有一个改进:#include<iostream>using namespace std;int main(){ int n, sum=0; cin >> n; int i, m = n, k; for原创 2020-07-01 16:09:58 · 98 阅读 · 0 评论 -
、、2、、字母的强制转换
将小写字母转换成大写字母方法一:char类型输入一个字符,然后根据ASCII表中大小写字母的数值差关系将转换后的字母给表示出来。方法二:使用cctype标准库和cstdio标准库,运用putchar输出字符类型然后toupper将小写字母转换为大写字母,**getchar()**用来从键盘输入字母。虽然只有一行 不过可以得到想要的结果。...原创 2020-06-30 16:30:16 · 197 阅读 · 0 评论 -
、、1、、二分算法的学习
今天见识到了一个叫做二分算法的东西,是在洛谷上见到的。题目如下:题目所要求的就是一个枚举或者之类的算法,对我来说,就是一个计算的过程,将每一项的数值计算出来。我第一次的草稿就是设立了多个变量,表示了斜列数,分子数值,分母数值。然后,通过列数求和的方式求出第N项所在的列数和排位在哪。接着判断列数是奇数还是偶数来确定分母分子的大小。代码如下,#includeusing namespace std;int main() {int N;cin >> N;int n = 0, t =原创 2020-06-30 15:51:17 · 442 阅读 · 0 评论 -
短学期开始的第一天
我是第一组的小菜鸡,目前正在学习这个C++的基本语言。基础不牢固,需要的更多的是对基本知识的掌握。我选的是C小白https://www.dotcpp.com/oj/原创 2020-06-29 20:42:47 · 81 阅读 · 0 评论