C/C++
Circle-C
这个作者很懒,什么都没留下…
展开
-
整数拆分
整数划分问题是算法中的一个经典命题之一所谓整数划分,是指把一个正整数n写成如下形式:n=m1+m2+m3+....+mi;(其中mi为正整数,并且1<=mi<=n),则{m1,m2,m3,....,mi}为n的一个划分。如果{m1,m2,m3,....,mi}中的最大值不超过m,即max{m1,m2,m3,....,mi} <= m,则称它属于n的一个m划分。这里我们记n的m划分的个数为f(n,m);例如当n=4时,它有5个划分:{4}、{3,1}、{2,2}、{2,1.原创 2021-05-24 00:02:21 · 658 阅读 · 0 评论 -
PAT中gets函数不能使用,用fgets、gets
If you want to read a string into a program, you must first set aside space to store the string and then use an input function to fetch the string.gets() only knows where the array begins, not how many elements it has.If the input string is too long, y...原创 2020-06-04 16:20:08 · 2125 阅读 · 0 评论 -
PAT B1008 数组元素循环右移问题 (20分) 三种解法
1008数组元素循环右移问题(20分)一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔..原创 2020-06-03 16:57:41 · 1311 阅读 · 0 评论 -
《算法笔记》第3章 入门篇(1)——入门模拟
简单模拟问题 A 剩下的树#include<stdio.h>#include<algorithm>using namespace std;int main(){ int L, M, sum, left, right, i; while(scanf("%d%d", &L, &M), L!=0){...原创 2020-03-04 15:17:53 · 346 阅读 · 1 评论 -
《算法笔记》第2章 C/C++快速入门
2.0.1 a+b#include<stdio.h>int main(){ int a, b; scanf("%d%d", &a, &b); printf("%d", a+b); return 0;}2.1.1 a+b#include<stdio.h>...原创 2020-02-04 15:22:46 · 4746 阅读 · 0 评论