代码编织梦想

欧几里德算法(辗转相除法)求最大公约数
#include<stdio.h>
#include<math.h>
#include<string.h>

int main()
{
int a = 0;
int b = 0;
int c = 0;

scanf_s("%d", &a);
scanf_s("%d", &b);

do
{
	if (a == 0 || b == 0)
	{
		c = a < b ? b : a;
	}
	else if (a == 0 && b == 0)
	{
		c = 0;
	}
	else
	{
		c = b;
		b = a % b;
		a = c;
		

	}
} while (b!=0);
printf("zui da gong yu shu %d\n", c);

}
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_45318938/article/details/106276477

LeetCode --- 687. Longest Univalue Path 解题报告-爱代码爱编程

Given a binary tree, find the length of the longest path where each node in the path has the same value. This path may or may not pass through the root. The length of path betwee

(python version) 剑指offer 18.删除链表的节点-爱代码爱编程

题目叙述 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。示例 1: 输入: head = [4,5,1,9], val = 5 输出: [4,1,9] 解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9. 示例 2: 输入: hea

牛客算法竞赛入门课第一节习题题解-校门外的树-爱代码爱编程

牛客算法竞赛入门课第一节习题 NC16649 校门外的树 链接:https://ac.nowcoder.com/acm/problem/16649 来源:牛客网 题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,…

中序/前序+中序/后序构建二叉树-爱代码爱编程

中序/前序+中序/后序构建二叉树 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7

线段树——区间最大连续字段和(acwing245)-爱代码爱编程

题目链接 求区间的最大连续字段和,需要同时维护节点的sum(区间和),lsum(区间前缀和最大值),rsum(区间后缀的最大值),dat(最大字段和)。 ac代码: #include<bits/stdc++.h> using namespace std; const int inf = 0x3f3f3f3f; const int N = 5

迷宫题模板训练-爱代码爱编程

这几天做了些迷宫题,感觉都是一个套路,题目不难但是细节需要注意,可以小小总结一下 问题 A: 扫雷布盘 题目描述 相信大家一定玩过扫雷游戏。可是扫雷游戏怎么做的呢? 小QQ是个聪明好学的好孩子,他决定编一个扫雷小游戏。 他第一步要做的就是布置雷盘,在一个n*n的棋盘上埋下若干个雷点,埋下地雷的位置用数字‘9’表示,没有地雷的位置用数字0表示。 但是刚

C语言基础笔记整理(5)-爱代码爱编程

笔记整理自哈尔滨工业大学的MOOC课程:C语言程序设计精髓 第五章 循环控制  循环的控制方法:  * 条件控制的循环  * 计数控制的循环  * 标记控制的循环 循环语句:for语句、while语句、do-while语句 for语句  * 计数控制 复合语句语句做循环体被当作一条语句看待    while语句:  

解决问题 #000_调用外部源文件中的函数-爱代码爱编程

调用外部函数 方法一:main.c + fun.c 函数如果知定义在本.c文件中, 或者定义在一个.h文件中并且本.c文件#include了这个.h就不用加extern,因为这两种情况下本.c文件都可以直接找到一旦有一个函数定义在另一个.c文件中,而你要想在本.c文件中使用的时候就必须用extern关健字道声明一下,否则链版接会出错。 extern的作

__BEGIN_DECLS 和 __END_DECLS-爱代码爱编程

扩充C语言在编译的时候按照C++编译器进行统一处理,使得C++代码能够调用C编译生成的中间代码。 由于C语言的头文件可能被不同类型的编译器读取,因此写C语言的头文件必须慎重。 我们编写代码,经常需要c和c++混合使用,为了使 C 代码和 C++ 代码保持互相兼容的过程调用接口,需要在 C++ 代码里加上 extern “C” 作为符号声明的一部分,为

#C语言#对选择排序的一点理解-爱代码爱编程

题目:在键盘上输入n个整数,将他们按照从大到小的次序排序后输出。要求采用选择排序法。 选择排序的两种算法(个人的理解): 第一种-------先找到最大值再交换 #include<stdio.h> /大到小选择排序 --先找到这些数据里面的最大值,(用下标更新最大值) 判断整个最大值是否等于第i个数,不等于就交换–大到小/ int mai

初学C语言,你仔细练过这些题目吗?【代码实现细节讲解】-爱代码爱编程

学习编程绝对不能空谈理论,最终还是落实到代码上,这样编程能力才提升得快。 先从一个程序入手: 键盘输入一个圆的半径(r<=100),计算该圆的面积。要求输出的精度保留到小数点后三位。 【输入】输入一个整形数(圆的半径r) 【输出】输出一个浮点数(圆的面积) 圆的面积S=PI * r * r 将实现过程代码化,如下: #include<st

c语言之形参和实参,全局变量和局部变量-爱代码爱编程

c语言中形参与实参: 形参 form parameter 实参 real parameter出现在函数定义中的参数,就叫形参出现在函数调用中的参数,就叫实参 函数定义: int max( int a , int b ) //这里的a,b就是形参 { //在函数中,形参就可以当作是一个局部变量。 if ( a>b ) return a; else