响应式表白网站源码,市场营销最有效的手段,做网站不推广,做炒作的网站转载请标明出处#xff1a;牟尼的专栏 http://blog.csdn.net/u012027907 Problem1#xff1a; 题目描写叙述#xff1a; 定义一个新的斐波那契数列#xff1a; F(0)7。 F(1)11; F(n)F(n-1)F(n-2);(n2) 输入#xff1a; 输入有多组#xff1b;首先输入一个N牟尼的专栏 http://blog.csdn.net/u012027907 Problem1 题目描写叙述 定义一个新的斐波那契数列 F(0)7。 F(1)11; F(n)F(n-1)F(n-2);(n2) 输入 输入有多组首先输入一个NN100。代表要输入的測试用例的个数接下来输入N个数字ni(ni100)数字间用空格隔开。 输出 求F(n)是否能被3整除若能整除输出‘yes’否则输出‘no’。 例子输入 3 0 1 2 例子输出 no no yes 提示不能用递归否则超时在计算时。我们不是必需算出递推的真正值后面会越来越大可能Int 都存不下了题目仅仅要求算是否是3的倍数。也就是说。无论值多大。最后都仅仅是 3n0,3n1,3n2 这三种情况我们仅仅需对3取余就可以。 /** 描写叙述: 新的斐波那契数列* 作者: 张亚超 * 博客: 牟尼的专栏 http://blog.csdn.net/u012027907* 日期: 2014/8/24*/
#includestdio.h
#define N 105int F[N]; // 记录递推数对3取余的余数
int I[N]; // 记录输入的n个值
bool mark[N]; //标记相应数是否是3的余数int main(){F[0] 7;F[1] 11;for(int i 0; i N; i) //标记初始化为falsemark[i] false;for(i 2; i N; i){ //计算递推数对3取余的余数F[i] F[i-1] F[i-2];if(F[i] % 3 0) //若为3的倍数标记mark[i] true; F[i] % 3; //重要一步。简化运算仅仅存对3的余数}int n;while(scanf(%d,n) ! EOF){for(int i 0; i n; i){ //输入scanf(%d,I[i]);}for( i 0; i n; i){ //输出if(mark[I[i]])printf(yes\n);elseprintf(no\n);}}return 0;
}
转载请标明出处牟尼的专栏 http://blog.csdn.net/u012027907