#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int bai = n/100;
int shi = n/10%10;
int ge = n%10;
while(bai--)
cout << 'B';
while(shi--)
cout << 'S';
for(int i = 1; i <= ge; i++)
cout << i;
cout << endl;
return 0;
}
1007 素数对猜想
#include <iostream>
using namespace std;
const int N = 100010;
int primes[N], cnt;
bool st[N];
int get_primes(int n)
{
for(int i = 2; i <= n; i++)
{
if(!st[i]) primes[cnt++] = i;
for(int j = 0; primes[j]*i <= n; j++)
{
st[primes[j]*i] = true;
if(i % primes[j] == 0) break;
}
}
}
int main()
{
int n;
cin >> n;
get_primes(n);
int res = 0;
for(int i = 1; i < cnt; i++)
{
if(primes[i]-primes[i-1] == 2)
res++;
}
cout << res << endl;
return 0;
}
1008 数组元素循环右移问题
#include <iostream>
using namespace std;
int main()
{
int n, m;
cin >> n >> m;
m = m%n;//如果m>n,则进行的(n-m)次变换是多余的
int a[n];
for(int i = 0; i < n; i++)
cin >> a[i];
for(int i = n-m; i < n; i++)
cout << a[i] << ' ';
for(int i = 0; i < n-m-1; i++)
cout << a[i] << ' ';
cout << a[n-m-1] << endl;
return 0;
}
1009 说反话
#include <iostream>
using namespace std;
int main()
{
int i = 0;
char word[85][85];
//getchar()读取空格和回车(遇到回车结束循环,不再scanf单词)
while(scanf("%s", &word[i++]) && (getchar() != '\n'));
while(--i)
cout << word[i] <<' ';
cout << word[0] << endl;
return 0;
}
1010 一元多项式求导
#include <iostream>
using namespace std;
int main()
{
int a, b, flag = 0;
//处理每一对输入
while(scanf("%d%d", &a, &b) != EOF)
if(b != 0)
{
//特殊处理第一次输入,前面不加空格
if(flag == 0) printf("%d", a*b);
else printf(" %d", a*b);
printf(" %d", b-1);
flag = 1;
}
//没有处理过数据,或指数b都为0
if(flag == 0)printf("0 0");
return 0;
}
换个格式输出整数#include <iostream>using namespace std;int main(){ int n; cin >> n; int bai = n/100; int shi = n/10%10; int ge = n%10; while(bai--) cout << 'B'; while(shi--) cout << 'S'; f