某级数的前两项A1=1,A2=1,以后各项具有如下关系:An=An-2+2An-1。使用非递归的算法求解满足要求的n值的程序。
来源:互联网 发布:kmp算法next的计算 编辑:程序博客网 时间:2024/06/05 15:07
某级数的前两项A1=1,A2=1,以后各项具有如下关系:An=An-2+2An-1。(n-2 n-1 均为小标)
下列程序的功能是:要求依次对于整数M=100、1000和10000求出对应的n值,使其满足:Sn<M且Sn+1>=M(n+1为下标),这里Sn=A1+A2+…+An,并依次把n值存入数组单元b[0]、b[1]和b[2]中,请编制jsvalue()函数来实现此功能,最后调用函数writeDat()把数组b[]中的值输出到OUT98.DAT文件中。
程序很挫,今天晚上脑子很乱。随便编的。望各位能给小弟修改下。。。。。。
#include <stdio.h>int b[3];void jsvalue(){int i=1,s1=1,s2=1,s0=s2+2*s1,sum=s1+s2,j=sum;//s1表示s(n-1) s2表示s(n-2) s0表示s(sn)while(!((j<100)&&(sum>=100))){j=sum;sum = sum+s0; s2 = s1;s1 = s0;s0 = s2+2*s1;//s0表示Sni++;}b[0]=i;while(!((j<1000)&&(sum>=1000))){j=sum;sum = sum+s0; s2 = s1;s1 = s0;s0 = s2+2*s1;i++;}b[1]=i;while(!((j<10000)&&(sum>=10000))){j=sum;sum = sum+s0;s2 = s1;s1 = s0;s0 = s2+2*s1;i++;}b[2]=i;}main(){ jsvalue(); printf("M=100,n=%d\nM=1000,n=%d\nM=10000,n=%d\n",b[0],b[1],b[2]); writeDat();}writeDat(){ FILE *fp; fp=fopen("OUT98.DAT","w"); fprintf(fp,"%d\n%d\n%d\n",b[0],b[1],b[2]); fclose(fp);}
博主个人网站 http://henghui.web-126.com/
- 某级数的前两项A1=1,A2=1,以后各项具有如下关系:An=An-2+2An-1。使用非递归的算法求解满足要求的n值的程序。
- 设数列{an}满足:a1=a2=1,an=7an-1-an-2,n≥3.证明:对于每个n∈N*,an+an+1+2皆为完全平方数.
- 设以带头结点的双向循环链表表示的线性表L= (a1,a2,…,an),试写一时间复杂度O(n)的算法,将L改造为 (a1,a3,…,an,…,a4,a2)。
- 问题描述:一个长度为2n的(整型)数组元素为 a1 a2 ... an b1 b2 ... bn 要求: 用O(1)的空间代价, 在O(n)时间内把数组变成 a1 b1 a2 b2 a3 b3 ... an bn
- 数组元素交叉排列的算法题(a1 a2 a3 .. an b1 b2 b3 .. bn -->a 1 b1, a2 b2, a3 b3, .. an bn )
- 数组元素交叉排列的算法题(a1 a2 a3 .. an b1 b2 b3 .. bn -->a 1 b1, a2 b2, a3 b3, .. an bn )
- 数组元素交叉排列的算法题(a1 a2 a3 .. an b1 b2 b3 .. bn -->a 1 b1, a2 b2, a3 b3, .. an bn )
- 求n = a1*a2*33...*ak 且满足(1<a1<=a2<=a3...<=ak<=n)的状态数
- 设双链表表示的线性表L=(a1,a2,a3.....an)将L改造为L=(a1,a3,....an...a4,a2)
- 数列与数论结合问题:a1=2,a2=3, an+1=3an-an-1 求anan+1-5是完全平方数
- 面试-链表逆置 作业手写一个单链表,并且实现单链表元素的逆置,(a0, a1,a2,a3,..an)-> (an,an-1,… a1, a0),算法的空间复杂度和时间复杂度经可能低
- 有一个带头结点的单链表L={a1,b1,a2,b2,...,an,bn},设计一个算法将其拆分成两个带头结点的单链表A和B,正序链表A={a1,a2,a3...,an},逆序链表B={bn,bn-1,
- 算法:完美洗牌算法:一个长度为2n的(整型)数组元素为 a1 a2 ... an b1 b2 ... bn
- 求浮点数数组A={A1,A2,A3,…,An}中,Aj-Ai(j>i)的最大值。要求时间复杂度越小越好
- 行车(a1*b1+a1*b2+..a1*bn+a2*b1+...an*bn=(a1+..an)(b1+..bn) )
- 数组元素交叉排列的算法题(a1 a2 a3 .. an b1 b2 b3 .. bn -->a 1 b1, a2 b2, a3 b3, .. an bn ) 概论思想(perfect shuffle 算法)
- 给出一个有效的算法来确定在整数A1<A2<A3<...<AN的数组中是否存在整数i使得Ai=i
- 拆分单链表(a1,b1,a2,b2....an,bn)=(a1,...an)+(bn,...b1)
- UPnP协议学习笔记-简介
- cp源代码放在哪儿?
- 什么是窗口和视图?
- 【设计教程】在PS里面制作简单的下雨效果!
- 日语初级助词总结
- 某级数的前两项A1=1,A2=1,以后各项具有如下关系:An=An-2+2An-1。使用非递归的算法求解满足要求的n值的程序。
- 软件开发与测试管理
- MFC使用Tab Control(选项卡控件)方法
- 2012-2013暑假总结
- c文件操作<1>
- 用户资源管理DBMS_RESOURCE_MANAGER
- mount命令(用来挂载硬盘或镜像等)
- Tomcat CATALINA_BASE与CATALINA_HOME的区别
- 60款很酷的 jQuery 幻灯片演示和下载 !