📄 010sequence.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 100
int s[MAX];
int r[MAX];
int num;
int process(int n, int N)
{
int m;
if(n == N) {
return 0;
}
s[n] = rand()%2;
printf("%d ", s[n]);
m = process(n + 1, N);
if(n == 0) {
if(((m + s[n]) % 2) == 0) {
r[num ++] = n;
}
return 0;
} else {
if(s[n] == 0) {
if((m > 0) && ((m % 2) == 0)) {
r[num ++] = n + 1;
}
return 0;
} else {
return m + 1;
}
}
}
int main(int argc, char argv[])
{
int n = 0, N;
srand( ( unsigned )time( NULL ) );
while (scanf("\n%d", &N) !=EOF) {
num = 0;
if(N <= 1) {
printf("N should be greater than 1\n");
} else {
process(n, N);
}
printf("\n%d Subsequence: ", num);
for(int i = 0; i < num; i ++)
printf("%d ", r[i]);
printf("\n");
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -