字符串压缩算法
输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。
例如:
aac 压缩为 1ac
xxxxyyyyyyzbbb 压缩为 3x5yz2b
代码:
#include <iomanip>
#include <iostream>
#include <vector>
using namespace std;
int main(){
string str;
getline(cin,str);
for (int i = 0; i < str.size(); ++i) {
int cnt =0;
while (str[i] == str[i+1]){
++i;
++cnt;
}
if(cnt != 0)
{
cout<<cnt;
}
cout<<str[i];
}
return 0;
}
求表达式f(n)结果末尾0的个数
输入一个自然数n,求表达式 f(n) = 1!2!3!..n! 的结果末尾有几个连续的0?
输入描述:
自然数n
输出描述:
f(n)末尾连续的0的个数
输入例子1:
11
输出例子1:
9
#include <iomanip>
#include <iostream>
#include <vector>
using namespace std;
int main(){
string str;
getline(cin,str);
for (int i = 0; i < str.size(); ++i) {
int cnt =0;
while (str[i] == str[i+1]){
++i;
++cnt;
}
if(cnt != 0)
{
cout<<cnt;
}
cout<<str[i];
}
return 0;
}