21累加式
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main() {
int n;
while(cin>>n) {
if (n == 1) {
cout<<"1"<<endl;
}else{
for (int i = 1; i<=n;i++){
cout<<i<<"+";
}
for (int j = n-1; j > 1; j--) {
cout<<j<<"+";
}
cout<<"1"<<endl;
}
}
return 0;
}
22约瑟夫环2
#include<stdio.h>
#define MAX_SIZE 25
int main() {
int k = 0, m = 0;
int i = 0, j = 0;
int nums[MAX_SIZE] = {
0};
int copyNums[MAX_SIZE] = {
0};
int left = 0;
int start = 0;
while (scanf("%d", &k) != EOF) {
for (i = 1; i <= 2 * k; i++) {
nums[i] = i;
copyNums[i] = nums[i];
}
m = 1;
start = 1;
left = 2 * k;
while (1) {
for (i = k + 1; i <= 2 * k; i++) {
start = (start + m - 1) % left;
if (start == 0)
start = left;
if (copyNums[start] >= k + 1 && copyNums[start] <= 2 * k) {
for (j = start; j < left; j++)
copyNums[j] = copyNums[j + 1];
left--;
}
else {
m++;
start = 1;
left = 2 * k;
for (j = 1