
算法
必胜虾
永远保持着一颗年轻好奇的心!
展开
-
最小公倍数和最大公约数的求解
最大公约数*最小公倍数=a*b;①辗转相除法(又叫欧几里得算法,是一种求两个正整数的最大公约数的古老有效的算法。) 1.输入两整数a和b。 2.a%b得余数r 3.如果r=0,则b为两数的最大公约数。 4.如果r≠0,则另a=b,b=r,再从第二步执行。 5.直到r=0,此时b为两数的最大公约数。#include<stdio.h>#include<math.h>void main(){原创 2015-04-29 21:51:15 · 498 阅读 · 0 评论 -
把一个含有N个元素的数组循环右移K位
可以每次将数组中的元素右移一位,循环K次。每个元素右移N位后都会回到自己的位置上。因此,如果K > N,右移K-N之后的数组序列跟右移K位的结果是一样的。进而可得出一条通用的规律:右移K位之后的情形,跟右移K’= K % N位之后的情形一样。#include<stdio.h>#include<math.h>#include<string.h>char* RightMove(char *a,in原创 2015-04-29 22:35:22 · 10868 阅读 · 0 评论 -
程序员面试经典编程(1)
题目描述请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。 给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。 测试样例: “Mr John Smith”,13 返回:”Mr%20John%20Smith原创 2015-07-21 16:56:29 · 399 阅读 · 0 评论 -
大数相加
大数相加就是进行字符串的操作:#include<stdio.h>#include<string.h>#include<stdlib.h>/*大数相加可以使用字符串进行操作*/char* add(const char *arr,const char *brr){ int lena=strlen(arr); int lenb=strlen(brr); int maxl原创 2015-08-21 10:10:55 · 421 阅读 · 0 评论