博主:命运之光
专栏:算法修炼之练气篇
前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的,练完这200多道题就考了今年第十四届的B组蓝桥杯C/C++获得了省一,后面还会更新“算法修炼之筑基篇”里面包括了省赛到国赛这一个月训练的刷奖计划,大概有40道左右,感兴趣的话可以关注一下命运之光)
目录
题目 1084: 用筛法求之N内的素数
题目描述
输入格式
输出格式
样例输入
样例输出
题目 1206: 字符串问题
题目描述
输入格式
输出格式
样例输入
样例输出
题目 1402: 简单的字符串
题目描述
输入格式
输出格式
样例输入
样例输出
🍓🍓都拿去吧!应该很少有人会这样写!!!
题目 1098: 陶陶摘苹果
题目描述
输入格式
输出格式
样例输入
样例输出
题目 2817: 级数求和
题目描述
输入格式
输出格式
样例输入
样例输出
🍓🍓今日份修炼结束,再接再厉!!!
题目 1084: 用筛法求之N内的素数
题目描述
用筛法求之N内的素数。
输入格式
N
输出格式
0~N的素数
样例输入
100
样例输出
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
莫名其妙的就写完了,说实话我都不知道怎么写出来的,就这么莫名其妙的过了。可能是素数题写多了,脑袋没动,手就帮忙写完了。
🍓🍓个人感觉素数模板还是要记忆的,平常练习或者考试的时候出现的概率还是蛮大的
#include<bits/stdc++.h>
using namespace std;
int main()
{int n;cin>>n;int f=0;for(int i=2;i<=n;i++){for(int j=2;j*j<=i;j++){if(i%j==0){f=1;}}if(f==0){cout<<i<<endl;}f=0;}return 0;
}
题目 1206: 字符串问题
题目描述
字符串处理在计算机中有很多复杂的操作,但是这些复杂的操作都是由基本的字符串操作复合而成,要求编写一字符串颠倒的程序,把字符串中的字符颠倒位置。
输入格式
输入一字符串(<255)
输出格式
按位进行颠倒的结果。
样例输入
COMPUTER
样例输出
RETUPMOC
#include<bits/stdc++.h>
using namespace std;
int main()
{string s;cin>>s;for(int i=s.length()-1;i>=0;i--){cout<<s[i];}return 0;
}
题目 1402: 简单的字符串
题目描述
输入一串仅包含 'A' - 'Z'的字符串, 用下面的方法进行重新编码:
1. 若子串包含连续k个相同的字符,则改为kX; 其中X为这个子串中唯一的字符.
2. 如果子串中字符仅为1个时, 则前面的'1'则省去.
输入格式
第一行输入为一个整数N (1 <= N <= 100)代表有几组测试数据. 下面紧跟N行字符串. 每个字符串仅包含'A' - 'Z' 并且长度都小于 10000.
输出格式
对于每个字符串, 输出对应解码后的字符串.
样例输入
2 ABC ABBCCC
样例输出
ABC A2B3C
🍓🍓都拿去吧!应该很少有人会这样写!!!
#include<bits/stdc++.h>
using namespace std;
int main()
{int b[27]={0};int n;cin>>n;while(n--){string s;cin>>s;int i;for(i=0;i<s.length();i++){b[s[i]-'A']++;}for(i=0;i<27;i++){if(b[i]!=0){if(b[i]==1){cout<<char(65+i);}else{cout<<b[i]<<char(65+i);}}}cout<<endl;memset(b,0,sizeof(b)); } return 0;
}
题目 1098: 陶陶摘苹果
题目描述
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
输入格式
输入包括两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
输出格式
输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
样例输入
100 200 150 140 129 134 167 198 200 111 110
样例输出
5
#include<stdio.h>
int main()
{int a[10],n,j=0;for(int i=0;i<10;i++){scanf("%d",&a[i]);}scanf("%d",&n);for(int i=0;i<10;i++){if(a[i]<=n+30){j++;}}printf("%d",j);return 0;
}
题目 2817: 级数求和
题目描述
已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。
输入格式
一个整数K。
输出格式
一个整数n。
样例输入
1
样例输出
2
#include<stdio.h>
int main()
{double s=0,k,i=1;int j=0;scanf("%lf",&k);while(k>=0){ k=k-1/i;j++;i++;}printf("%d",j);return 0;
}