博主:命运之光
专栏:算法修炼之练气篇
题目 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
莫名其妙的就写完了,说实话我都不知道怎么写出来的,就这么莫名其妙的过了。可能是素数题写多了,脑袋没动,手就帮忙写完了。
🍓🍓个人感觉素数模板还是要记忆的,平常练习或者考试的时候出现的概率还是蛮大的
usingnamespacestd; intmain() { intn; cin>>n; intf=0; for(inti=2;i<=n;i++) { for(intj=2;j*j<=i;j++) { if(i%j==0) { f=1; } } if(f==0) { cout<<i<<endl; } f=0; } return0; }
题目 1206: 字符串问题
题目描述
字符串处理在计算机中有很多复杂的操作,但是这些复杂的操作都是由基本的字符串操作复合而成,要求编写一字符串颠倒的程序,把字符串中的字符颠倒位置。
输入格式
输入一字符串(<255)
输出格式
按位进行颠倒的结果。
样例输入
COMPUTER
样例输出
RETUPMOC
usingnamespacestd; intmain() { strings; cin>>s; for(inti=s.length()-1;i>=0;i--) { cout<<s[i]; } return0; }
题目 1402: 简单的字符串
题目描述
输入一串仅包含 'A' - 'Z'的字符串, 用下面的方法进行重新编码:
1. 若子串包含连续k个相同的字符,则改为kX; 其中X为这个子串中唯一的字符.
2. 如果子串中字符仅为1个时, 则前面的'1'则省去.
输入格式
第一行输入为一个整数N (1 <= N <= 100)代表有几组测试数据. 下面紧跟N行字符串. 每个字符串仅包含'A' - 'Z' 并且长度都小于 10000.
输出格式
对于每个字符串, 输出对应解码后的字符串.
样例输入
2 ABC ABBCCC
样例输出
ABC A2B3C
🍓🍓都拿去吧!应该很少有人会这样写!!!
usingnamespacestd; intmain() { intb[27]={0}; intn; cin>>n; while(n--) { strings; cin>>s; inti; 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)); } return0; }
题目 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
intmain() { inta[10],n,j=0; for(inti=0;i<10;i++) { scanf("%d",&a[i]); } scanf("%d",&n); for(inti=0;i<10;i++) { if(a[i]<=n+30) { j++; } } printf("%d",j); return0; }
题目 2817: 级数求和
题目描述
已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。
输入格式
一个整数K。
输出格式
一个整数n。
样例输入
1
样例输出
2
intmain() { doubles=0,k,i=1; intj=0; scanf("%lf",&k); while(k>=0) { k=k-1/i; j++; i++; } printf("%d",j); return0; }