1,121,12321,1234321,……求第n项 用c 递归:
#include<stdio.h>
void fun1(int n)
{if(n>1)fun1(n-1);
printf("%d",n);
}
void fun2(int n)
{printf("%d",n);
if(n>1)fun2(n-1);
}
int main(void)
{ int n;
scanf("%d",&n);
fun1(n);
fun2(n-1);
return 0;
}
=====================
或:
#include<stdio.h>
int k;
void fun(int n)
{if(k==0&&n>1)fun(n-1);
if(n==1)k=1;
printf("%d",n);
if(k==1&&n>1)fun(n-1);
}
int main(void)
{ int n;
scanf("%d",&n);
fun(n);
return 0;
}
#include <stdio.h>
int g(int n, int m) {
if(n > 2*m-1)
return g(n-(2*m-1), m + 1);
else {
if(n > m)
return 2 * m - n;
return n;
}
}
int f(int n) {
if(n<1) return 0; // 不能小于1
return g(n, 1);
}
int main()
{
for(int i = 1; i < 20; ++i) {
printf("第 %3d 元素为 %3d\n", i, f(i));
}
}
1121123211234321……求第n项 用c 递归
int main(void){ int n;scanf("%d",&n);fun(n);return 0;}