当前位置: 首页 > news >正文

万网做网站山东今日热搜

万网做网站,山东今日热搜,phpcms 多语言网站,装修公司那家好前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 今天,我们主要分享三个问题如何用C语言去求解,1.斐波…

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。

 

 

  今天,我们主要分享三个问题如何用C语言去求解,1.斐波那契数列问题,2.素数列举问题,3.人数分配问题。

 

一.  斐波那契数列问题 

 

(1)问题叙述:斐波那契数列问题。输人正整数 n(1<=n<=46),输出斐波那契(Fibonacci)数列的前n项:1,1,2,3,5,8,13,·····,每行输出 5个。Fibonacci 数列就是满足任一项数字是前两项的和(最开始两项均定义为 1)的数列。

(2)问题分析:计算斐波那契数列时,从第 3 项开始,每一项的值就是前 2项的和。用两个变量存储最近产生的两个序列值,计算出新一项数据后,需要更新这两个变量的值。假定最开始两项分别用x1=1和x2=1表示,则新项x=x1+x2,然后更新x1和x2:x1=x2及x2=x,为计算下一个新项x作准备。题目要求输出n项,循环次数确定,可采用 for 语句。

(3)方法总结:迭代法也称辗转法,是一个不断从变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。迭代法是用计算机解决问题的一种基本方法,它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出新值。

(4)源程序:

#include <stdio.h>
int main()
{int i, n, x, x1, x2;  //x1和x2依次代表前两项,x表示其后一项 printf("Enter n:");   //提示输入所需输出项的个数 scanf("%d", &n);if (n<1||n>46){printf("Invalid.\n");}else if (n==1){printf("%10d", 1);  //n为1时输出1 }else{x1=1;x2=1;printf("%10d%10d", x1, x2);  //先输出前两项 for (i=3; i<=n; i++)  //循环输出n-2项 {x=x1+x2;    //计算新的一项 printf("%10d", x);if (i%5==0){printf("\n");  //项数为5的倍数就换行 }//重新定义前两项 x1=x2;  x2=x;}}return 0;} 

 

 二.  素数问题

 

(1)问题叙述:素数问题。输人2个正整数 m和n(1<=m<=n<=500),输出m到n之间的全部素数,每行输出 10个。素数就是只能被 1 和自身整除的正整数,1 不是素数,2 是素数。

(2)问题分析:可参照之前发的博客(如何判断素数)。

(3)源程序:

#include <stdio.h>
#include <math.h>
int main()
{int count, i, k, flag, limit, m, n;  //flag表示是否为素数 printf("Enter m n:");scanf("%d %d", &m, &n);count=0;  //count记录素数的个数 if (m<1||n>500||m>n){printf("Invalid.\n");}else {for (k=m; k<=n; k++){if (k<=1){flag=0;}else if (k==2){flag=1;}else{flag=1;limit=sqrt(k)+1;for (i=2; i<=limit; i++){if (k%i==0){flag=0;break;}}}if (flag==1){printf("%6d", k);count++;if (count%10==0)  //count为10的倍数就换行 {printf("\n");}}}}return 0;
}

 

三.  搬砖问题 

 

(1)问题叙述:搬砖问题。某工地需要搬运砖块,已知男人一人搬 3 块,女人一人搬 2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有哪些搬法。

(2)问题分析:用枚举的思路,枚举对象是男人、女人和小孩的人数,将其分别设为变量 men、women和 children,以总人数 men+women+children ==n 和搬砖总数 men *3+women *2+children/2==n为判定条件,变量的取值范围都是[0,n]。3 个变量在各自的取值范围内遍历,采用三重循环嵌套,找出所有满足条件的解。

(3)源程序:

#include <stdio.h>
int main()
{int children, cnt, men, n, women;printf("Enter n:");scanf("%d", &n);cnt=0;for (men=0; men<=n; men++){for (women=0; women<=n; women++){for (children=0; children<=n; children++){if((men+women+children==n)&&(men*3+women*2+children*0.5==n)){printf("men=%d, women=%d, children=%d\n", men, women, children);cnt++;}}}}if (cnt==0){printf("None!\n");}return 0;} 

 

感谢老铁的浏览,希望老铁可以一键三连加个关注,您的支持和鼓励是我前进的动力,后续会分享更多学习编程的内容。 

 

 

 

 

http://www.yidumall.com/news/30269.html

相关文章:

  • 社交网站备案搭建一个网站需要多少钱?
  • web网站开发源码下载网络营销的特点和优势
  • 品牌网站建设方互联网营销师怎么做
  • 贵州城乡住房建设厅网站百度小说搜索热度排行榜
  • 红酒网站源码网络营销方法有什么
  • 手机怎么打开自己做的网站谷歌seo关键词排名优化
  • js网站访问计数购买链接怎么买
  • 建站abc客服电话外贸建站公司
  • 做彩票网站犯法吗简单的seo
  • 马鞍山网站制作东莞seo建站投放
  • 西安做网站服务新东方烹饪学校
  • 服装商城网站建设西安seo盐城
  • 深圳做网站公司哪家好北京核心词优化市场
  • 学院网站建设意义最好用的搜索引擎排名
  • 用wordpress建站长尾关键词快速排名软件
  • 网站建设中的注册和登录页面百度关键词收费标准
  • 做游戏交易网站有哪些内容营销策划与运营方案
  • 做电商有哪些网站搜索引擎优化的要点
  • 哪些网站可以做免费广告推广南京百度seo排名优化
  • 淘宝这种网站怎么做的?排名推广网站
  • 爱心捐赠网站怎么做苏州网站建设哪家靠谱
  • 婚纱网站策划书模板下载第一营销网
  • 做企业网站多建站abc网站
  • 直播网站如何做交换链接的其它叫法是
  • 怎么做html网页seo是免费的吗
  • 备案的网站可以攻击吗百度竞价排名商业模式
  • 着力加强网站内容建设泉州网站建设优化
  • 如何在不影响原模板情况下添加div+css静态网站模板重庆森林粤语完整版在线观看免费
  • 桂林北站图片微信代运营
  • 上海医疗 网站制作搜索引擎优化的技巧有哪些