如何用数组(和函数)来处理”混合数列“??
例如: (1) 26,11,31,6,36,1,41。。。。(2) 5,3,10,6,15,12。。。。。
还有一些常见的混合数列。。。
它们该如何用数组(和函数)来处理。。。。我刚接触c语言不久。。还有数学能力有点差。。请大家多多指教咯!!{:5_92:} 第一题这样,第二题同理,自己做
/*
简单分析:
(1)n%2==0时(n为偶数),a = 26+5*n/2
(2)n%2==1时(n为奇数),a = 11-5*n/2
综上,利用数字电路中的布尔代数原理,得:
a = !(n%2)*(26+5*n/2) + n%2*(11-5*n/2)
*/
#include <stdio.h>
int get_vector_an( int n );
int main(void) {
int n;
while(1 == scanf("%d", &n)) {
printf( "%d\n", get_vector_an(n) );
}
return 0;
}
int get_vector_an( int n ) {
return !(n%2)*(26+n/2*5) + n%2*(11-n/2*5);
} 仰望天上的光 发表于 2015-6-19 13:49
第一题这样,第二题同理,自己做
谢谢了。。很好呀!!好用。。。{:5_106:}
页:
[1]