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

###C语言程序设计-----C语言学习(8)## 斐波那契数列问题,素数问题,人数分配问题。

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

 

 

  今天,我们主要分享三个问题如何用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;} 

 

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

 

 

 

 

相关文章:

###C语言程序设计-----C语言学习(8)## 斐波那契数列问题,素数问题,人数分配问题。

前言&#xff1a;感谢您的关注哦&#xff0c;我会持续更新编程相关知识&#xff0c;愿您在这里有所收获。如果有任何问题&#xff0c;欢迎沟通交流&#xff01;期待与您在学习编程的道路上共同进步。 今天&#xff0c;我们主要分享三个问题如何用C语言去求解&#xff0c;1.斐波…...

蓝桥杯 第 1 场 小白入门赛

目录 1.蘑菇炸弹 2.构造数字 3.小蓝的金牌梦 4.合并石子加强版 5.简单的LIS问题 6.期望次数 1.蘑菇炸弹 我们直接依照题目 在中间位置的数进行模拟即可 void solve(){cin>>n;vector<int> a(n1);for(int i1;i<n;i) cin>>a[i];int ans0;for(int i2;i…...

飞天使-linux操作的一些技巧与知识点5-expect与docker便捷命令

expect 主要使用场景不输入账户密码的多 yum install -y expect 则可以安装上 #!/usr/bin/expect -f set username “root” set password “123456” spawn /bin/bash send “cd /data/container/\r” expect "$ " # 等待命令提示符 send “git pull\r” expect…...

编曲学习:和声音程 调式体系 唱名法 调式调性

34届和声音程 调式体系 唱名法 调式调性https://app8epdhy0u9502.pc.xiaoe-tech.com/live_pc/l_65af994be4b064a8cb1c3a5f?course_idcourse_2XLKtQnQx9GrQHac7OPmHD9tqbv 34届独立音乐人编曲训练营https://app8epdhy0u9502.pc.xiaoe-tech.com/p/t_pc/course_pc_detail/camp_p…...

【大数据】Flink 架构(四):状态管理

《Flink 架构》系列&#xff08;已完结&#xff09;&#xff0c;共包含以下 6 篇文章&#xff1a; Flink 架构&#xff08;一&#xff09;&#xff1a;系统架构Flink 架构&#xff08;二&#xff09;&#xff1a;数据传输Flink 架构&#xff08;三&#xff09;&#xff1a;事件…...

执行rpm安装命令的时候抛出异常:rpmdb BDB0113 Thread/process

问题现象 错误&#xff1a;rpmdb: BDB0113 Thread/process 66126/140498505373504 failed: BDB1507 Thread died in Berkeley DB library 错误&#xff1a;db5 错误(-30973) 来自 dbenv->failchk&#xff1a;BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery 错…...

Android 在WebView中加载H5传递图片

最近h5开发一个编译器&#xff0c;要在手机上显示&#xff0c;需要获取手机上的图片&#xff0c;使用webview不能直接到文件管理拿取&#xff0c;还需要对webview做处理&#xff0c;做个记录&#xff0c;方便以后使用&#xff1b; public ValueCallback<Uri[]> mUploadMe…...

图的学习

图的基本概念和术语 图的定义&#xff1a;图是由顶点的有穷非空集合和顶点之间的边的集合组成的&#xff0c;G表示&#xff0c;V是图G中顶点的集合&#xff0c;E是图G中边的集合 无向图&#xff1a;任意两点的边都是无向边组成的图&#xff08;无向边&#xff1a;&#xff08…...

空间数据分析入门POI与莫兰指数基础知识笔记

1. 空间分析与POI 1.1. 什么是POI POI是“Polnt of Information”的缩写&#xff0c;中文可以翻译为“信息点”。POI是地图上任何非地理意义的有意义的点&#xff0c;如商店、酒吧、加油站、医院、车站等。这些点通常包括名称、类别、经纬度和地址等基本信息。此外&#xff0…...

TortoiseSVN各版本汉化包下载

首先进入下载版本列表 1.下载地址&#xff1a;https://sourceforge.net/projects/tortoisesvn/files ​ 2.选择自己版本进入​ 3.选择Language Packs进入&#xff0c;选择对应语言包下载。 ​ 4.在TortoiseSVN根目录下点击安装即可。 ​...

STM32连接阿里云物联网平台

文章目录 引言一、STM32连接阿里云物联网平台思路二、ESP8266烧录固件三、使用AT指令连接阿里云物联网平台四、STM32环形串口缓冲区驱动程序五、STM32连接阿里云驱动程序 引言 连续写了两篇关于阿里云连接的文章&#xff0c;都是使用Arduino ESP8266 & Arduino ESP32的方式…...

力扣hot100 组合总和 回溯 剪枝 组合

Problem: 39. 组合总和 文章目录 思路复杂度&#x1f496; Code 思路 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) &#x1f496; Code class Solution{List<List<Integer>> res new ArrayList<>();int x;// 全局targetin…...

代码随想录 Leetcode669. 修剪二叉搜索树

题目&#xff1a; 代码(首刷看解析 2024年1月31日&#xff09;&#xff1a; class Solution { public:TreeNode* trimBST(TreeNode* root, int low, int high) {if (!root) return root;if (root->val < low) {TreeNode* node trimBST(root->right,low,high);return…...

Redis系列-数据结构篇

数据结构 string&#xff08;字符串&#xff09; redis的字符串是动态字符串&#xff0c;类似于ArrayList&#xff0c;采用预分配冗余空间的方式减少内存的频繁分配。 struct SDS<T>{ T capacity; T len; byte flags; byte[] content; } 当字符串比较短时&#xff0c…...

正则表达式(RE)

什么是正则表达式 正则表达式&#xff0c;又称规则表达式&#xff08;Regular Expression&#xff09;。正则表达式通常被用来检索、替换那些符合某个规则的文本 正则表达式的作用 验证数据的有效性替换文本内容从字符串中提取子字符串 匹配单个字符 字符功能.匹配任意1个…...

发布技术路线图!美国量子计算公司QuEra公开三年OKR

​编辑丨慕一 编译/排版丨琳梦 卉可 深度好文&#xff1a;1100字丨8分钟阅读 近期&#xff0c;美国量子计算公司QuEra Computing宣布了一系列关于容错量子计算机的战略路线图&#xff0c;该路线图从2024年开始&#xff0c;最终目标是打造具有100纠错逻辑量子比特的系统。 在…...

Vue2:请求接口的两种方式axios和vue-resource

一、场景描述 前端和后端的交互&#xff0c;肯定是要发生接口调用的 这个时候&#xff0c;就要涉及前端如何向后端接口发送请求&#xff0c;获取数据 二、请求方式 1、axios方式(推荐) 这个方式本质就是ajax&#xff0c;底层就是对xhr(XMLHttpRequest)的封装 1、安装axios…...

扩展学习|商业智能和大数据分析的研究前景(比对分析)

文献来源&#xff1a; Liang T P , Liu Y H .Research Landscape of Business Intelligence and Big Data analytics: A bibliometrics study[J].Expert Systems with Applications, 2018, 111(NOV.):2-10.DOI:10.1016/j.eswa.2018.05.018. 信息和通信技术的快速发展导致了数字…...

『Docker入门指南』- 详细安装与配置教程,助你起航容器化世界!

引言 在探索云计算和自动化部署的时代&#xff0c;Docker以其独特的容器化技术站在了风口浪尖。如果你期待着无缝地将你的应用从一个环境迁移到另一个环境&#xff0c;那么Docker无疑是你的得力助手。但首先&#xff0c;我们得学会如何正确地安装和配置Docker。这篇文章将详细…...

如何提高http连接成功率?

问题 丢包、错包、乱包 高延迟 响应数据回来时间长&#xff0c;甚至大于客户端等待时间 带宽小 每次能够通信的内容较少&#xff0c;数据包越大受影响可能越大 网络断续 网络经常断开又连接 优化处理 采用TCP协议、实现长连接&#xff0c;采用长连接池&#xff0c;节省…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率&#xff08;或其他自定义指标&#xff09;来调整这些对象的规模&#xff0c;从而帮助应用程序在负…...