<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[nimppei的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/nimppei</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; nimppei]]></copyright><item><title><![CDATA[自测-4 Have Fun with Numbers]]></title><link>https://blog.youkuaiyun.com/nimppei/article/details/89205315</link><guid>https://blog.youkuaiyun.com/nimppei/article/details/89205315</guid><author>nimppei</author><pubDate>Thu, 11 Apr 2019 12:25:24 +0800</pubDate><description><![CDATA[Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, with no duplication. Double it we will obtain 246913578, which happens to be another 9-digit number con...]]></description><category></category></item><item><title><![CDATA[自测-3 数组元素循环右移问题]]></title><link>https://blog.youkuaiyun.com/nimppei/article/details/89200486</link><guid>https://blog.youkuaiyun.com/nimppei/article/details/89200486</guid><author>nimppei</author><pubDate>Thu, 11 Apr 2019 01:46:51 +0800</pubDate><description><![CDATA[一个数组A中存有N（&gt;0）个整数，在不允许使用另外数组的前提下，将每个整数循环向右移M（≥0）个位置，即将A中的数据由（A​0​​A​1​​⋯A​N−1​​）变换为（A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A​N−M−1​​）（最后M个数循环移至最前面的M个位置）。如果需要考虑程序移动数据的次数尽量少，要如何设计移动的方法？

输入格式:

每个输入包含一个测试用例，第1行输入N...]]></description><category></category></item><item><title><![CDATA[自测-2 素数对猜想]]></title><link>https://blog.youkuaiyun.com/nimppei/article/details/89200459</link><guid>https://blog.youkuaiyun.com/nimppei/article/details/89200459</guid><author>nimppei</author><pubDate>Thu, 11 Apr 2019 01:03:49 +0800</pubDate><description><![CDATA[让我们定义d​n​​为：d​n​​=p​n+1​​−p​n​​，其中p​i​​是第i个素数。显然有d​1​​=1，且对于n&gt;1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

现给定任意正整数N(&lt;10​5​​)，请计算不超过N的满足猜想的素数对的个数。

输入格式:

输入在一行给出正整数N。

输出格式:

在一行中输出不超过N的满足猜想的素数对的个数。...]]></description><category></category></item><item><title><![CDATA[自测-1 打印沙漏 （20 分)]]></title><link>https://blog.youkuaiyun.com/nimppei/article/details/89199696</link><guid>https://blog.youkuaiyun.com/nimppei/article/details/89199696</guid><author>nimppei</author><pubDate>Thu, 11 Apr 2019 00:17:03 +0800</pubDate><description><![CDATA[本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”，要求按下列格式打印


*****
 ***
  *
 ***
*****


所谓“沙漏形状”，是指每行输出奇数个符号；各行符号中心对齐；相邻两行符号数差2；符号数先从大到小顺序递减到1，再从小到大顺序递增；首尾符号数相等。

给定任意N个符号，不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。

输入格式:

...]]></description><category></category></item><item><title><![CDATA[排序算法之插入排序]]></title><link>https://blog.youkuaiyun.com/nimppei/article/details/70136120</link><guid>https://blog.youkuaiyun.com/nimppei/article/details/70136120</guid><author>nimppei</author><pubDate>Tue, 11 Apr 2017 22:42:18 +0800</pubDate><description><![CDATA[插入排序是指在已经是有序排列的一组数里再插入另外的数值，从而得到一个全新的有序排列数。其中可用直接插入和二分查找。（此处按照从小到大排序）直接插入思想：先确定需要插入的元素temp=arr[i],然后开始查找是否存在满足大于该元素的值arr[j]，若每次都从j=0到j=i-1，有点麻烦，可以 
从有序序列的最后一个元素（j=i-1）开始查找，边查找边移动元素提高了效率，若temp>=arr[j-1]]]></description><category></category></item><item><title><![CDATA[排序算法之选择排序]]></title><link>https://blog.youkuaiyun.com/nimppei/article/details/70064300</link><guid>https://blog.youkuaiyun.com/nimppei/article/details/70064300</guid><author>nimppei</author><pubDate>Tue, 11 Apr 2017 17:27:29 +0800</pubDate><description><![CDATA[选择排序思想：每一次从待排序的数据元素中选出最小（或最大）的一个元素，存放在序列的起始位置，直到全部待排序的数据元素排完。该序列用数组表示。#include<iostream>
using namespace std;
#define SIZE 8void Select_sort(int arr[], int size)
{
    for (int i = 0; i < size; ++i)]]></description><category></category></item><item><title><![CDATA[排序算法之冒泡算法]]></title><link>https://blog.youkuaiyun.com/nimppei/article/details/70059610</link><guid>https://blog.youkuaiyun.com/nimppei/article/details/70059610</guid><author>nimppei</author><pubDate>Tue, 11 Apr 2017 17:05:05 +0800</pubDate><description><![CDATA[冒泡算法思想：根据词义就很好理解，相邻的逐个比较上浮，即冒泡。#include<iostream>
using namespace std;
#define SIZE 8void Bubble_sort(int arr[], int size)
{
    int tmp = 0;
    for(int i=0;i<size;++i)
        for (int j = i + 1; j <]]></description><category></category></item><item><title><![CDATA[KMP算法]]></title><link>https://blog.youkuaiyun.com/nimppei/article/details/69951998</link><guid>https://blog.youkuaiyun.com/nimppei/article/details/69951998</guid><author>nimppei</author><pubDate>Mon, 10 Apr 2017 17:22:44 +0800</pubDate><description><![CDATA[KMP由来：由D.E.Knuth，J.H.Morris和V.R.Pratt同时发现，故取三人名字首字母简称为KMP算法。 
算法思想：将在模式串中失配部分的信息再利用，避免在目标串上回溯，使匹配一直在目标串（查找的范围）上进行下去，效率比之回溯的BF算法更为高效。 
难点：由算法思想转为代码，计算next函数值以及理解引入next函数的必要性。 
拓展：对KMP算法的优化，思考是否可以在此基础上再提]]></description><category></category></item><item><title><![CDATA[BF算法（Brute Force）]]></title><link>https://blog.youkuaiyun.com/nimppei/article/details/69951545</link><guid>https://blog.youkuaiyun.com/nimppei/article/details/69951545</guid><author>nimppei</author><pubDate>Mon, 10 Apr 2017 17:08:03 +0800</pubDate><description><![CDATA[算法思想：运用模式串和目标串进行逐个比较，当模式串匹配失败，则回溯到目标串的下一位，两个循环直到匹配成功或者跳出循环查找失败。#include <iostream>
#include<cstring>
using namespace std;
#define MAXSIZE 250
typedef char STR[MAXSIZE + 1];int assign(STR T, char *c)//T]]></description><category></category></item></channel></rss>