源自:百度百科 辗转相除法 辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法. 例如,求(,): ∵ ÷=(余319) ∴(,)=(,): ∵ ÷=(余58) ∴(,)=(,): ∵ ÷=(余29) ∴ (,)=(,): ∵ ÷=(余0) ∴ (,)= : ∴ (,)=. 用辗转相除法求几个数的最大公约数,可以先求出其中任意两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数,依次求下去,直到最后一个数为止.最后所得的那个最大公约数,就是所有这些数的最大公约数…
// 最大公约数 更相减损法 int commonDivisor() { int i,k,n=0; printf("请输入两个不同的正整数,用,隔开\n"); scanf("%d,%d",&i,&k); while(i%2==0 && k%2==0) { i = i/2; k = k/2; n++; } while(i != k) { if(i>k) { i = i-k; } else { k = k - i; } printf…
求最大公因数(辗转相除法&更相减损术) 辗转相除法 又名欧几里得算法 ,其原理其实是基于这个定理:\(gcd(a,b)=gcd(b,a\%b)\),详细证明,而任何数与0的最大公约数是它本身 (递归终止条件),所以可以如下递归求出两数最大公因数: \[ f(a,b)=\left\{ \begin{array}{lll} b \qquad a\%b=0\\ f(b,a\%b) \end{array} \right. \] 递归实现(C++): int f(int a, int b){ return…
公式法:两个数相乘等于最小公倍数乘以最大公约数 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int gcd2(int a, int b) { int mod = a%b; ) { a = b; b = mod; mod = a%b; } return b; } int main() { int a, b; int cd; scanf("%d", &a); s…
#include <stdio.h> #include <stdlib.h> #include <math.h> #define MAX 5 int main() { }; ; //初始化数据 ; i < MAX; i++) { ; j < MAX;j++) { a[i][j] = rand() % ; } } //显示数据 ; i < MAX; i++) { ; j < MAX; j++) { printf("%5d ",…
两个指针相减,为两个指针之间间隔这两个指针类型的数目. 如:int *p,*q; p-q=(p地址-q地址)/sizeof(int) #include <stdio.h> int main() { ]={,,,,,,,,}; char *p,*q; int *p2,*q2; p=(char*)a; q=(]; printf("p=%08X q=%08X a[%d]=%d\n",p,q,q-p,a[q-p]); //结果为:x,x+8,8/sizeof(char),a[8]=…
一:double和float使用scanf获取数据 printf输出float和double都可以用%f,double还可以用%lf. 2 scanf输入float用%f,double输入用%lf,不能混用. double a, b; scanf("%lf", &a); //正确 scanf("%f", &b); //错误,导致8字节数据中有随机数据,所以数据输出错误 %f 是浮点型(单精度),占4字节 %lf 是浮点型(双精度),占8字节 二:sc…
Swift3.0语言教程获取字符串编码与哈希地址 Swift3.0语言教程获取字符串编码与哈希地址,以下将讲解字符串中其它内容的获取方法. 1.获取字符串编码 在NSString中可以使用2个属性获取字符串编码,分别为availableStringEncodings属性和defaultCStringEncoding属性. (1)availableStringEncodings属性可以用来获取NSString可用的字符串编码.其语法形式如下: class var availableStringEn…
Swift3.0语言教程获取C字符串 Swift3.0语言教程获取C字符串,为了让Swift和C语言可以实现很好的交互,开发者可以使用NSString的cString(using:)方法在指定编码格式后,获取C字符串,其语法形式如下: func cString(using: UInt) 其中,using用来指定编码格式. [示例1-19]以下将使用cString(using:)方法获取C字符串. import Foundation var str1=NSString(string:"Hello&…
Swift3.0语言教程获取字符 Swift3.0语言教程获取字符,在字符串中获取某一下标位置(下标索引)处的字符是很常见的功能,在NSString中使用character(at:)方法实现,其语法形式如下: func character(at index: Int) -> unichar 其中,index用来指定字符的下标索引. [示例1-18]以下将获取字符串中下标索引为1的字符. import Foundation var str1=NSString(string:"Apple&qu…
Swift3.0语言教程获取字符串长度 Swift3.0语言教程获取字符串长度,当在一个字符串中存在很多的字符时,如果想要计算字符串的长度时相当麻烦的一件事情,在NSString中可以使用length属性去实现这一功能,其语法形式如下: var length: Int { get } [示例1-15]以下将实现字符串长度的计算. import Foundation var str=NSString(stringLiteral: "Swift Hello")               …
运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运用Python语言编写获取Linux基本系统信息(二):文件系统使用情况获取 一.实验环境: Python2.7.10.pycharm.VM虚拟机.CentOS6.3.mysql 二.MySQLdb模块: MySQLdb模式是Python中专门连接MySQL数据库的模块,另外Python开发环境的搭…
本文跟着上一篇文章继续写,上一篇文章的链接 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 一.随便说说 获取文件系统使用情况的思路和上一篇获取主要系统是一样的,都是通过执行命令获取linux执行命令后的打印,然后对打印出的结果进行处理. 本文在CentOS中获取文件系统的命令是df -h(用量以G/M单位进行显示) 在命令行中打印出来的结果是: 二.想法实现 本篇文章中用到了上一遍文章(链接见顶部)的commands模块在这里就不粘贴代码占篇幅了.…
C语言复习20170728 键盘输入和屏幕输出 字符常量:把字符放在一对单引号内,适用于多数可打印字符. 转义字符: 以反斜线()开头,也是放在一对单引号内,适用于控制字符. .\t,是水平制表符,相当于按下Tab键,每次按下Tab键并不是从当前光标位置向后移动一个Tab宽度,而是移到下一个制表位,实际移动的宽度视当前光标位置距相邻的下一个制表位的距离而定. 函数printf()的格式转换说明符: 函数scanf()的格式转换说明符: 练习: 选择控制结构 C语言中的关系运算符及其优先级: 图片…
C语言复习20170716 C数据类型 图片来自:C语言基本数据类型简介 C语言程序处理的数据有常量和变量两种形式. 常量是在程序中不能改变其值的量.例如:整型常量.实型常量.字符常量.字符串常量和枚举常量. 变量不同于常量,其值在程序执行过程中可改变,在使用前必须先定义.在定义变量时,需要声明变量的类型和变量名,一般形式为: 类型关键字 变量名; 变量必须先定义后使用. 变量区分大小写,定义和使用的变量名必须一致. 定义变量必须在可执行语句之前. 定义变量时,用于变量初始化的常量类型与定义的变…
C语言复习-字符串与指针 例一: [字符串处理 去除C代码中的注释] C/C++代码中有两种注释,/* */和//.编译器编译预处理时会先移除注释.就是把/*和*/之间的部分去掉,把//以及之后的部分删掉.这里约定,如果出现了/* AAAA /* BBBB */的情况,也就是/**/中出现了/*,那么第二个/*是不当作注释起始的.编写函数void removeComment(char *str). 分析:对于字符串”int c=4,/*c累计量*/ a=3;/*变量*/ // a初值为3 ”先用…
C语言复习系列-转义字符 准备学习stm32单片机,感觉需要复习一下C语言,翻看了菜鸟教程,竟然有不少地方看不懂,真让人汗颜······ 转义字符大部分语言里面都有,至少我学过的里面都有,在这些语言中,某些字符具有特殊含义或功能,如果要输出这些字符,就要使用转义字符. 所谓转义字符就是前面加个 \ 当遇到无法输出某个字符的情况,不妨用转义字符试试! \\ printf("\\"); //即输出 \ \a printf("\a"); //计算机发出提醒音 \b pri…
判断日期为一年中的第几天(考虑闰年) 1 /* 2 * 计算该日在本年中是第几天,注意闰年问题 3 * 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天 4 * 特殊情况,闰年且输入月份大于3时需考虑多加一天 5 */ 6 7 /* 8 *@author: 成鹏致远 9 *@net: http://infodown.tap.cn 10 */ 11 12 #include <stdio.h> 13 #include <stdbool.h> 14 15 struc…
判断日期为一年中的第几天(考虑闰年) /* * 计算该日在本年中是第几天,注意闰年问题 * 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天 * 特殊情况,闰年且输入月份大于3时需考虑多加一天 */ /* *@author: 成鹏致远 *@net: http://infodown.tap.cn */ #include <stdio.h> #include <stdbool.h> struct year_mon_day { int year; int mon;…
申请博客有一段时间了,然而到现在还一篇没有写过..... 主要因为没有想到需要写些什么,最近在学习Python语言,照着书上看了看最基础的东西,发现根本看不进去,而且光看的话今天看了觉得都理解懂了,过两天自己回顾这部分内容的时候发现就又忘了,于是自己就想到自己边学边写一些小程序,以便能更好的让自己记住语法. 一.开发环境以及测试环境 Python2.7.10.pycharm.VM虚拟机.CentOS6.3 二.代码实现 代码结构: commands.py —> os_info_in.py —>…
今天复习一下C语言的运算符 1.赋值运算符 单等号 = 顺序是:从右往左 2.复合运算符 #include <stdio.h> #include <stdlib.h> int main() { ; num %= ; printf("%d\n",num); ; } 输出结果是:2 3.算术运算符 , num2 = ; double result1, result2, result3, result4; result1 = num1 / num2; result2…
判断日期为一年中的第几天(考虑闰年) /* * 计算该日在本年中是第几天,注意闰年问题 * 以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天 * 特殊情况,闰年且输入月份大于3时需考虑多加一天 */ /* *@author: 成鹏致远 *@net: http://infodown.tap.cn */ #include <stdio.h> #include <stdbool.h> struct year_mon_day { int year; int mon;…
在Linux上(如Ubuntu或CentOS), 获取某个Network Interface比如eth0的IP地址等信息,我们可以使用ifconfig或者ip addr show命令. $ ifconfig eth0 eth0 Link encap:Ethernet HWaddr :::ba:8d:be inet addr:192.168.1.102 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80:::64ff:feba:8dbe/…
go语言字符串底层由字节数组实现,使用UTF-8编码,初始化以后不能被修改 获取字符串长度 一.当字符串中所有字符都是单字节字符时,使用 len 函数获取字符串的长度 package main import "fmt" func main() { var str string str = "Hello world" fmt.Printf("The length of \"%s\" is %d. \n", str, len(st…
/*=================================*/ /* 基础部分 */ /*=================================*/一:.CPP--C++文件:.C--C文件 二:C语言中浮点型一般分为float单精度型.double双精度型.long double长精度型,单精度浮点型小数点后面有效数字为6~7位和双精度浮点型小数点后面有效数字为15~16位 三:char s[N]--for(int i=0;s[i];i++):可以用s[i]进行循环.…
test.c #include <stdio.h> int main(){ printf("hello\n"); return 0; } 1.预处理阶段 由于在test.c中使用了头文件,所以GCC在编译时首先要把头文件stdio.h中的内容加载到test.c的首部 gcc -E test.c -o test.i E表明只进行预处理.o表明输出文件名. 2.编译阶段 词法分析:关键字.标识符等等是否正确: 语法分析:程序中语句的语法是否正确: 语义分析:语句的逻辑意义是否正…
windows下编程获取磁盘(分区)使用情况 windows下编程获取磁盘(分区)使用情况 GetLogicalDriveStrings函数 使用示例 获取需要的缓冲区长度示例 获取所有驱动器号示例 GetDriveType函数 使用示例 GetDiskFreeSpaceEx 函数 使用示例 linux下可以使用命令df -h来获取各个(已加载)分区的使用情况.Windows下也有很多好的工具来获取,但是我没有发现windows下的df命令. 在linux下使用df -h命令的输出如下 o@Ne…
一.SQL获取系统时间 mysql> select now() from dual; +---------------------+ | now() | +---------------------+ :: | +---------------------+ row in set (0.00 sec) mysql> select curdate() from dual; +------------+ | curdate() | +------------+ | +------------+ r…
{'state' : 1,'data':{'list':[{'id': 123, 'name': '诸葛天邪','level': 10,'country': 1,}]}} 比如我要获取里面的 id 该如何实现. 首先这个json串有几个错误的地方 第一个非常重要的错误,json串里面只能用双引号,不能用单引号,这个单双引号表示的意思不是引号内是字符串,而是json的规定 第二个错误,json串内的逗号只能用英文的,不能用中文的 第三个错误,country之后的那个逗号去掉 再来说转换问题 最简单…
   题目 解决代码及点评 求最大公约数和最小公倍数,方法已经在题目中有提示,分析代码实现如下: /* 题目: 输入两个正整数 m和 n,求其最大公约数和最小公倍数. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <ctype.h> static int calculate_GCD(int u, int…