
算法
文章平均质量分 56
defier考研版
这个作者很懒,什么都没留下…
展开
-
递推(持续更新)
例1:求出前20个Fibonacci数列斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应原创 2021-08-31 15:41:17 · 119 阅读 · 0 评论 -
数字操作常用算法(持续更新)
数字类获得一个数的某个位数(不带权值)#include<stdio.h>int GetDigit(int n, int i){ int remainder; int count = 0; while (count < i) { count++; remainder = n % 10; n /=10; } return remainder; }算法描述:参数为该数和你所取的该数的位数;返回值位该位数(不带权值)获得一个数的某位数(带权值)#inclu原创 2021-08-30 15:03:03 · 246 阅读 · 0 评论 -
算法小合集(一些有趣的数)(二)
例1:求100以内所有的勾股数;(满足勾股定理的3个正整数)分析:三个数满足a2+b2=c2a^2+b^2=c^2a2+b2=c2按a<b<c进行排列;#include<stdio.h>int main(){ for (int i = 1;i < 100;i++) { for (int j = i;j < 100;j++) { for (int k=j ;k <= 100;k++) { if (i * i + j * j =原创 2021-08-28 19:15:52 · 258 阅读 · 0 评论 -
算法小合集(一些有趣的数)(一)
例 1:编写程序判断一个数是否为素数##(素数定义)#include<stdio.h>int main(){ int number; printf("请输入一个数"); scanf_s("%d", &number); int tag=1; for (int i = 2;i < number;i++) { if (number % i == 0) { tag = 0; break; } } if (tag == 0) { pri原创 2021-08-26 16:53:00 · 155 阅读 · 0 评论 -
算法小合集(大小写转化)
原理:ASCII码大写的A ASCII码值是65,小写的a是97,由于大写与大写之间和小写和小写之间的相对位置没有变,那么只要加上该字母与大小写之间的差别即可实现大小写转化例1 编写一个程序将大写字母转化为小写字母#include<stdio.h>int main(){ char c1, c2; scanf_s("%c", &c1); c2 = c1 + 'a' - 'A'; printf("%c", c2); return 0;}例2,编写一个程序将小写字母转原创 2021-08-24 15:11:33 · 215 阅读 · 0 评论 -
算法小合集(求和)
算法小合集(求和)例1,编写一个程序求1+2+3+4+5+…+100的值;分析:首先这是一个等差数列可以用求和公式,但是这里不用,因为不是所有的求和我们都知道公式既然是求和;那么必然能够写成 类似于∑i=1nai\sum_{i=1}^{n} ai∑i=1nai的形式那么只要找到aiaiai的通项公式,然后用for循环加起来就好了所以,转换为,找通项公式这个题目很容易看出ai=iai=iai=i;那么代码就很容易写出来了;#include<stdio.h>int main()原创 2021-08-24 08:52:30 · 538 阅读 · 0 评论 -
算法小合集(判断)
判断闰年闰年的概念:能被400整除或能被4整除但不能被100整除的是闰年;四年一闰,百年不闰,四百年再闰比如说2000年是闰年,2100年不是闰年,因为2100能被100整除;//判断闰年#include<stdio.h>int main(){ for (int i = 2000;i < 2400;i++) { if (i % 4 == 0 && i % 100 != 0 || i % 400...原创 2021-08-23 16:17:19 · 65 阅读 · 0 评论 -
约瑟夫环存代码(自己写的)
#include<stdio.h>int main(){ int a[31]; for (int i = 1;i < 11;i++) { a[i] = i; } int j = 1; int k = 0; int count = 0; while (k < 10) { while (j < 11) { if (a[j] != 0) { count++; if (count % 3 == 0).原创 2021-08-22 14:00:39 · 60 阅读 · 0 评论