<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Mugler_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Mugler_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mugler_]]></copyright><item><title><![CDATA[交友的算法]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/113530366</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/113530366</guid><author>Mugler_</author><pubDate>Mon, 01 Feb 2021 21:44:45 +0800</pubDate><description><![CDATA[最近在了解腾讯最新推出的hood app，一个遮脸社交的平台，觉得还挺有意思的，于是我又下了soul、探探这样的羊看一下差别。想问问各位大佬能不能出一篇交友软件的推荐算法！？

]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习14：折半查找法）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106507354</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106507354</guid><author>Mugler_</author><pubDate>Tue, 02 Jun 2020 23:23:40 +0800</pubDate><description><![CDATA[折半查找
例：找13
步骤1⃣️：（0+9）/2=4则规定，low=0、mid=4、high=9

步骤2⃣️：将13与mid对应的值进行比较，10&lt;13则将low移动到mid+1的位置上

步骤3⃣️：（5+9）/2=7，则mid=7
步骤4⃣️：将13与mid值进行比较，13&lt;16则将high移动到mid-1的位置上

步骤5⃣️：（5+6）/2=5，则mid=5
步骤6⃣️：13&gt;11，则low=mid+1

步骤7⃣️：（6+6）/2=6则mid=13=13，找到数字13的位置

]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习13:约瑟夫环问题）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106505402</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106505402</guid><author>Mugler_</author><pubDate>Tue, 02 Jun 2020 21:27:53 +0800</pubDate><description><![CDATA[约瑟夫环问题：有n个人围成一圈，顺序排号，从第1个人开始报数（从1到3报数），凡报到3的人退出圈子，问最后留下的是原来第几号的那位
考点1:标记数组
考点2:环形处理
考点3:循环结束条件
#include &lt;iostream&gt;
int JosephProblem(int n)
{
    int *arr = (int *)malloc(n*sizeof(int));//标记
    int i;
    for(i=0;i&lt;n;i++)
    {
        arr[i] = 1]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习12:有n个整数，使前面各数顺序向后移m个位置，最后m个数变成最前面m个数）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106495976</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106495976</guid><author>Mugler_</author><pubDate>Tue, 02 Jun 2020 16:02:28 +0800</pubDate><description><![CDATA[有n个整数，使前面各数顺序向后移m个位置，最后m个数变成最前面m个数。见下图。写一函数实现以上功能，在主函数中输入n个整数和输出调整后的n个数。
1⃣️：原本的数据,记n=10、m=3

2⃣️：将后三个数据取出放入一个新容器中

3⃣️：将前面七个数据向后移动三位，再将后三个数据挪进去

4⃣️：创建一个新格子，格子大小为m（运用到动态内存）

5⃣️：将7先向后移动三位，i的位置表示为I=n-m-1；

6⃣️：n-m个数字移动完后，将整个格子挪到前面的位置中

#include &lt;stdio.h]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习11:用递归法将一个整数n转换成字符串）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106495682</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106495682</guid><author>Mugler_</author><pubDate>Tue, 02 Jun 2020 14:36:01 +0800</pubDate><description><![CDATA[用递归法将一个整数n转换成字符串。例如，输入483，应输出字符串“483”
#include &lt;iostream&gt;
void Print(int n)
{
    if(n/10)
        printf("%d\n",n);
    else{
        Print(n/10);
        printf("%d",n/10);
    }
}

int main()
{
    Print(1234567);
    return 0;
}


打印字符串1234567:

]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习11:十六进制转十进制数）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106495419</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106495419</guid><author>Mugler_</author><pubDate>Tue, 02 Jun 2020 14:26:56 +0800</pubDate><description><![CDATA[写一个函数，输入一个十六进制数，输出相应的十进制数
#include &lt;iostream&gt;
int HexTolnt(const char *str)
{
    assert(str!=NULL);
    int tmp = 0;
    char ch;
    if(str[0]!='0'||(str[1]!='x'&amp;&amp;str[1]!='X'))
        return -1;
    str+=2;//跳过0x
    while(isxdigit(*str))/]]></description><category></category></item><item><title><![CDATA[C语言——循环语句知识科普]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106265500</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106265500</guid><author>Mugler_</author><pubDate>Thu, 21 May 2020 19:00:49 +0800</pubDate><description><![CDATA[循环语句
一、内容提要
1.for循环;
2.while循环;
3.do while循环;
4.break的使用;
5.continue的使用；
二、内容详解
1、for循环；
for(表达式1;表达式2;表达式3)
{
语句块1
}
表达式1:初始化；最早被执行；有且执行一次。
表达式2:判断，为真循环继续，为加循环结束；每次进入循环都需判断；每次都执行。
表达式3:步进，修改循环因子值；执行完语句块1之后执行；每次都执行。
分析如下代码：
int main()
{
    char *strl = "a]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习10:国民生产总值）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106197400</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106197400</guid><author>Mugler_</author><pubDate>Mon, 18 May 2020 17:27:50 +0800</pubDate><description><![CDATA[假如我国国民生产总值的年增长率为9%，计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为p=（1+r）^n。r为年增常率，n为年数，p为与现在相比的倍数
这道题本身不难，只是引入了pow(x,y)这个用来计算x的y次方的公式，因此不要忘记添加一个#include&lt;math.h&gt;的头文件。
#include &lt;iostream&gt;
#include&lt;math.h&gt;
double GDP()
{
    double r = 0.09;
    int year ]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习9:求派的近似值）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106197040</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106197040</guid><author>Mugler_</author><pubDate>Mon, 18 May 2020 17:10:47 +0800</pubDate><description><![CDATA[用派/4约等于1-1/3+1/5-1/7+…公式求派的近似值，直到发现某一项的绝对值小于10的-6次方为止（该项不累加）
#include &lt;iostream&gt;
int main()
{
    double tmp = 0;
    double n = 1;
    double m = 1;
    int flg =1;
    while(n/m&gt;0.000001)
    {
        tmp+=flg*n/m;
        flg*=-1;
        m+=2]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习8:求斐波那契数列第n项值）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106196819</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106196819</guid><author>Mugler_</author><pubDate>Mon, 18 May 2020 17:06:29 +0800</pubDate><description><![CDATA[求斐波那契数列第n项值（1 1 2 3 5 8 13 21 （前两项相加））
其实都是用c语言写的非常基础的程序，没有什么技术含量，为了未来做题库用，希望大家别找茬哈！
#include &lt;iostream&gt;
int main()
{
    int n;
    scanf("%d",&amp;n);
    int f1 = 1;//前两项中的第一项
    int f2 = 1;//前两项中的第2项
    int f3 = 1;//当前项
    for(int i=2;i&lt;n;i]]></description><category></category></item><item><title><![CDATA[Xcode （Function 1：怎么修改背景颜色、字体颜色、大小等）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106195398</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106195398</guid><author>Mugler_</author><pubDate>Mon, 18 May 2020 16:38:15 +0800</pubDate><description><![CDATA[Xcode怎么修改背景颜色、字体颜色、大小等
步骤1⃣️：打开自己Xcode里的Preferences（也就是偏好设置！）


步骤2⃣️：在弹出的界面中选择Fonts&amp;Colors选项，会看到“Theme”（也就是主题啦）主题一般分为黑色白色和小子号、正常的字号和大字号，点一点看看自己适合什么！不适合也没关系，还有下一步！

步骤3⃣️：大家会发现，各种命令的颜色是不同的，因此想统一颜色或统一修改字号的伙伴们键盘点击“command”+“A”，即可出现下图全选中的样子！（如果“command”+“]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习7:统计各字符的个数）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106194832</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106194832</guid><author>Mugler_</author><pubDate>Mon, 18 May 2020 16:02:12 +0800</pubDate><description><![CDATA[输入一行字符，分别统计出其中英文字母、空格、数字和其他字符的个数
#include &lt;iostream&gt;
void Count()
{
    int alpha = 0;//字母个数
    int blank = 0;//空格个数
    int digit = 0;//数字个数
    int other = 0;//其他字符个数
    char ch;//获取键盘当前的输入
    while((ch=getchar())!='\n')//abc5,6\n
    {
    //if]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习6:寻找1808的可能组合）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106165779</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106165779</guid><author>Mugler_</author><pubDate>Sat, 16 May 2020 21:45:06 +0800</pubDate><description><![CDATA[在一个陌生的国度，有5种不同的硬币单位：15、23、29、41和67（分）。寻找所有组成18元8分（即1808分）的可能组合。假定对于所有面值的硬币你都有足够的硬币。
利用穷举法罗列出所有的可能。
#include &lt;iostream&gt;
int Fun()
{
    int count = 0;
    for(int i1=0;i1&lt;=1808/15;i1++)
    {
        for(int i2=0;i2&lt;=1808/15;i2++)
        {
    ]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习5：乒乓球比赛对手配对）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106162627</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106162627</guid><author>Mugler_</author><pubDate>Sat, 16 May 2020 17:58:22 +0800</pubDate><description><![CDATA[两个乒乓球队进行比赛，各出3人。甲队为A,B,C3人，乙队为X,Y,Z3人。已抽签决定比赛名单。有人向队员打听比赛的名单，A说他不和X比，C说他不和X,Z比，请编程序找出3对赛手的名单。
本题的难点在于，除了要筛选A不和X比，C不和X,Z比的条件所得结果以外，还需要保证1对1不重复，即A，B，C三人所面向对象不重复。
1⃣️开始时的错误代码：
#include &lt;iostream&gt;
//穷举
void Match()
{
    for(char a='X';a&lt;='Z';a++)//a为]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习4: 猴子吃桃问题）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106161861</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106161861</guid><author>Mugler_</author><pubDate>Sat, 16 May 2020 17:24:57 +0800</pubDate><description><![CDATA[猴子吃桃问题。猴子第一天摘下若干个桃子，当即吃了一半，还不过瘾，又多吃了一个。第2天早上又将剩下的桃子吃掉一半，又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上再想再吃时，就只剩一个桃子了。求第1天共摘多少个桃子。




天数
剩余个数




第十天
1个


第九天
（1+1）*2-&gt;4个


第八天
（4+1）*2-&gt;10个


第七天
（10+1）*2-&gt;22个


#include &lt;iostream&gt;
//猴子吃桃子
int Peach()
]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习3:找出1000之内的所有完数）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106161199</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106161199</guid><author>Mugler_</author><pubDate>Sat, 16 May 2020 17:01:54 +0800</pubDate><description><![CDATA[一个数如果恰好等于它的因子之和，这个数就称为“完数”。例如，6的因子为1，2，3，而6=1+2+3，因此6是“完数”。编程序找出1000之内的所有完数。
利用布尔类型判断真假。
#include &lt;iostream&gt;
//判断n是否为完数
bool IsPerfect(int n)
{
    int sum =0;
    for(int i=1;i&lt;n;i++)
    {
        if(n%i==0)
        {
            sum += i;
     ]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习2:输出所有的“水仙花数”）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106160694</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106160694</guid><author>Mugler_</author><pubDate>Sat, 16 May 2020 16:26:45 +0800</pubDate><description><![CDATA[输出所有的“水仙花数”，所谓“水仙花数”是指一个三位数，其各位数字立方合等于该数本身。例如，153是水仙花数，因为153=1的三次方+5的三次方+3的三次方。
以153为例。利用取余的思想我们先将153/10取余得到3，再将3做三次方；将153/10得到15再将15/10取余得到5，再将5做三次方；将15/10得到1，将1做三次方。将三位数的三次方相加，顺序即为3的三次方+5的三次方+1的三次方=153本身，判断后即为水仙花数，返回、输出、打印。
我们可以利用布尔类型直接判断真假，即真值返回。
#inclu]]></description><category></category></item><item><title><![CDATA[Xcode写C++（程序练习1: 求Sn=a+aa+aaa+...+aa..a(n个a)之值）]]></title><link>https://blog.youkuaiyun.com/Mugler_/article/details/106159948</link><guid>https://blog.youkuaiyun.com/Mugler_/article/details/106159948</guid><author>Mugler_</author><pubDate>Sat, 16 May 2020 15:32:25 +0800</pubDate><description><![CDATA[求Sn=a+aa+aaa+…+aa…a(n个a)之值，其中a是一个数字，n表示a的位数，例如：2+22+222+2222+22222（此时n=5），n由键盘输入。
#include &lt;iostream&gt;
//得到数字aaaaa...a，例如（2，5）-&gt;22222
int GetNum(int a,int n)
{
    int tmp =0;
    for(int i=0;i&lt;n;i++)
    {
        tmp=tmp*10+a;
    }
    return]]></description><category></category></item></channel></rss>