c++小学生入门教程(三)

这篇具有很好参考价值的文章主要介绍了c++小学生入门教程(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、辗转相除法

两个正整数m,n的最大公约数 
因为m与n和r都相关,所以求m和n的最大公约数等价于n和r的最大公约数 
    辗转相除法:欧几里得 
    ①求 m除以n的余数r r=m%n
    ②当r!=0时,执行第③步,当r=0时,n就是最大公约数
    ③让m=n,n=r,再求m除以n的余数r (新的m=原来的n 新的n=原来的r) 
    ④转到第②步
    当r!=0时,执行第③步,当r=0时,结束循环执行输出

#include <bits/stdc++.h>
using namespace std;
int main(){
	int m,n,r;
	m=14;n=4;
	r=m%n;//①2
	while(r!=0){
		m=n;//③ 
		n=r;
		r=m%n;//0
	}
	cout<<n;
	/*
	if(r!=0){//② 
		m=n;//③ 
		n=r;
		r=m%n;//
	} 
	else{
		cout<<n;
	}	
	
	if(r!=0){//② 
		m=n;//③ 
		n=r;
		r=m%n;//
	} 
	else{
		cout<<n;
	}
	
*/
	 		
} 

2、函数递归

递归问题:用于处理原问题以及与原问题规律相同的子问题 
奇数数列,输出第n个数的值 

斐波那契数列,1 1 2 3 5 8 13,该数等于前两个数之和
汉诺塔:源于印度的古老传说,大梵天创造世界的时候做了3根金刚石柱子,一根柱子从下往上按照从大到小的顺序
摞着64片黄金圆盘,大梵天命令婆罗门把圆盘从下面开始按照从大到小的顺序重新摆放在另一根柱子上,并规定,小圆盘
上不能放大圆盘,3根柱子之间一次只能移动一个圆盘,问:一共需要移动多少次,才能按照要求移完这些圆盘
如果按规则移动64个圆盘,需要移动次数为18 446 744 709 551 615次,所以只谈论圆盘数量较少的情况
移动规律
1、A的n-1个移动到B
2、A的最后一个大的移动到C
3、B上面的n-1个移动到C
即f(n)=2f(n-1)+1

#include <bits/stdc++.h>
using namespace std;

int f(int n){
	if(n==1){
		return 1;
	}
	else{
		return f(n-1)+2;
	} 
}

int fib(int k){//k=3
	if(k<2){ 
	return k;} 
	else{
		return fib(k-1)+fib(k-2);//fib(3)=fib(2)+fib(1)  fib(2)= fib(1)+fib(0)		
	} 	
}

int hannuota(int n){
	if(n==1){
		return 1;
	}
	else{
		return 2*f(n-1)+1;
	}
} 

int main(){
	
	cout<<hannuota(2);
	
} 

3、冒泡排序

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。

可以先写顺序结构,再转换为循环结构。

顺序结构变成循环结构方法,找到重复的次数,将重复内容放入循环体,观察发生变化的变量的变化规律。

#include <bits/stdc++.h>
using namespace std;
int main(){
	int temp;
	int a[10]={1,2,3,4,5,6,7,8,9,10};
	for(int j=9;j>0;j--){
		for(int i=0;i<j;i++){
			if(a[i]<a[i+1]){
				temp=a[i];
				a[i]=a[i+1];
				a[i+1]=temp;
		}
	}
}
for(int i=0;i<10;i++){
	cout<<a[i]<<endl;
}	
}

4、分离位数

获取一个数的个位,十位,百位等

#include <bits/stdc++.h>
using namespace std;
int main(){
	int a=12345;
	 while(a!=0){
	 	cout<<a%10<<endl;//5 
		a=a/10;
	 }
}	/*
	a%10;//5 
	a=a/10//1234
	a%10;   //4
	a=a/10;//123  
	a%10;//3
	a=a/10;//12
	a%10;//2
	a=a/10;//1
	a%10;//1
	a=a/10;//0        */

5、文章来源地址https://www.toymoban.com/news/detail-739298.html

到了这里,关于c++小学生入门教程(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小学生四则运算考试系统Java

    作为大一的新生,突然出现一个实训课程,让原本平静的生活变得很充实,学校要求写一个小学生四则运算考试系统的项目,包括自动出题、自动判断对错并给出得分、自动给出正确答案,同时还有倒计时,在经过几天的努力之后,我也是马马虎虎的完成了一个较为简单的考试系统 一

    2024年02月04日
    浏览(46)
  • Sora的原理,中国小学生游戏在践行

    大家龙年好呀,春节假期和家人出去浪了,旅行期间,几乎没刷社交媒体信息。等我17号回到家仔细看手机,Sora的消息铺面而来,什么“新革命”、“划时代”、“新纪元”······说的挺神呼。 任何新事物出现,讨论热烈是好事,但仁者见仁、智者见智。真实情况如何,还

    2024年02月21日
    浏览(28)
  • C语言程序设计——小学生计算机辅助教学系统

    编写一个程序,帮助小学生学习乘法。然后判断学生输入的答案对错与否,按下列任务要求以循序渐进的方式分别编写对应的程序并调试。 任务1 程序首先随机产生两个1—10之间的正整数,在屏幕上打印出问题。例如:6*7=?然后输入答案,如果输入答案正确,则显示“Right

    2024年02月10日
    浏览(30)
  • 小学生开“卷”AIGC,绝不能输在起跑线上

    图片来源:由无界AI生成 OpenAI的研究报告称,未来,大量工作岗位将受到AI冲击,首当其冲的岗位是作家、数学家、网页设计师、记者、律师…… 自从ChatGPT问世以来,人类会被AI替代的讨论甚嚣尘上,焦虑情绪无处不在。但更多人认为, AI替代的不是人类,而是没有掌握AI的

    2024年02月13日
    浏览(33)
  • java+springboot+vue开发的小学生(家长)考勤请假打卡小程序

    演示视频 小程序 https://www.bilibili.com/video/BV1RN4y167Xu/?share_source=copy_webvd_source=11344bb73ef9b33550b8202d07ae139b 管理员 https://www.bilibili.com/video/BV18H4y1z7xH/?share_source=copy_webvd_source=11344bb73ef9b33550b8202d07ae139b 主要功能:家长代替小学生注册登录,可向班主任请假销假考勤打卡,查看班主任信

    2024年02月06日
    浏览(38)
  • 三分钟搞懂git patch 补丁的使用,小学生也能看懂

    Git中的Patch(补丁)功能允许用户将不同分支或提交之间的更改保存为一种可重用的文件格式。通过使用Patch,您可以将您的更改发送给其他人进行审核或协作,以及在不同的Git仓库或版本控制系统之间导出或导入更改。 在Git中,使用以下命令来创建和应用Patch: 1、创建Pat

    2024年02月14日
    浏览(31)
  • 机器学习——python训练CNN模型实战(傻瓜式教学,小学生都可以学会)代码开源

    ​ 第一章 python训练线性模型实战 第二章 python训练决策树模型实战 第三章 python训练神经网络模型实战 第四章 python训练支持向量机模型实战 第五章 python训练贝叶斯分类器模型实战 第六章 python训练集成学习模型实战 第七章 python训练聚类模型实战 第八章 python训练KNN模

    2024年02月04日
    浏览(43)
  • 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序

    随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程

    2024年02月09日
    浏览(36)
  • Django框架入门到精通(01)Django概要 (黄菊华老师大学生毕业设计学习教程)

    博主介绍 :《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月08日
    浏览(31)
  • Django框架入门到精通(05)Django视图 (黄菊华老师大学生毕业设计学习教程)

    博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包