1006. 换个格式输出整数 (15)
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
cin >> n;
int b = n / 100;
int s = n / 10 % 10;
int g = n % 10;
for (int i = 0; i < b; i++)
cout << "B";
for (int i = 0; i < s; i++)
cout << "S";
for (int i = 1; i <= g; i++)
cout << i;
cout << endl;
return 0;
}
1007. 素数对猜想 (20)
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <cstring>
using namespace std;
bool prime[100005]; // prime is true, non-prime is false
void init()
{
memset(prime, true, sizeof(prime));
prime[0] = false;
prime[1] = false;
for (int i = 2; i <= 100005 >> 1; i++)
{
for (int j = i << 1; j < 100005; j += i)
prime[j] = false;
}
}
int main()
{
int N;
cin >> N;
if (N > 0 &&N < 5)
cout << 0 << endl;
else
{
init();
int cnt = 0;
for (int i = 2; i + 2 <= N; i++)
{
if (prime[i] && prime[i + 2])
cnt++;
}
cout << cnt << endl;
}
return 0;
}
1008. 数组元素循环右移问题 (20)
#include <iostream>
#include <vector>
using namespace std;
void vecswap(vector<int> &v, int begin, int end)
{
while (begin < end)
{
swap(v[begin], v[end]);
begin++;
end--;
}
}
int main()
{
int n, m;
cin >> n >> m;
vector<int> v(n);
for (int i = 0; i < n; i++)
cin >> v[i];
m = m % n;
int k = n - m;
vecswap(v, 0, k - 1);
vecswap(v, k, n - 1);
vecswap(v, 0, n - 1);
cout << v[0];
for (int i = 1; i < n; i++)
cout << " " << v[i];
cout << endl;
return 0;
}
1009. 说反话 (20)
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
// freopen("in.txt", "r", stdin);
vector<string> vs;
string str;
while (cin >> str)
{
vs.push_back(str);
}
vector<string> ::reverse_iterator rit = vs.rbegin();
cout << *rit;
++rit;
for (; rit != vs.rend(); ++rit)
cout << " " << *rit;
cout << endl;
return 0;
}
1010. 一元多项式求导 (25)
自己写的稀烂的代码,写得太啰嗦了。sigh...
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int a, b;
int first = true;
while (cin >> a >> b)
{
if (first && a == 0 || first && b == 0)
{
cout << "0 0";
break;
}
if (b && first)
{
cout << a * b << " " << b - 1;
first = false;
continue;
}
if (b)
{
cout << " " << a * b << " " << b - 1;
}
}
cout << endl;
return 0;
}
别人的代码:
#include <iostream>
using namespace std;
int main()
{
int a, b;
bool flag = false;
while (cin >> a >> b)
{
if (a*b)
{
if (flag)
cout << " ";
else
flag = true;
cout << a * b << " " << b - 1;
}
}
if (!flag)
cout << "0 0";
return 0;
}