zoukankan      html  css  js  c++  java
  • 暑假第四周

    由于疏忽,本周不得不进行代码的突击,因此本周主要进行了两部分:

    首先本周完成了机器学习和神经网络的基本学习,主要包括线性回归和logistic回归的正则化,神经网络的认识的基础了解。

    下面是这周做的笔记:

           

    在学习过程中遇到的主要问题就是两种回归算法的正则化,理解有些困难,需要大量的演算,十分费神。

    其次是代码的练习;


    一、表达出一万以内的任意范围的素数
    #include"pch.h"
    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <cstring>
    #include <vector>
    #include <iostream>
    using namespace std;
    #define range 400000
    bool a[range + 5];
    int main()
    {
        memset(a, 1, (range + 5) * sizeof(bool));
        int sqr = sqrt(range);
        for (int i = 2;i <= sqr;i++)
            if (a[i])
                for (int j = i * i;j <= range;j += i)
                    a[j] = 0;
        vector<int> pri;
        pri.push_back(1);
        for (int i = 2;i < range;i++)
            if (a[i])
                pri.push_back(i);
        int M, N;
        cin >> M >> N;
        for (int i = 0;i < N - M + 1;i++)
        {
            cout << pri[i + M];
            if (i != N - M)
            {
                if (i % 10 == 9)
                    cout << endl;
                else
                    cout << ' ';
            }
        }
        return 0;
    }
    二、部分A+B
    #include"pch.h"
    #include <cstring>
    #include<iostream>
    using namespace std;
    int main()
    {
        string a, c, b, d, e, f;
        long t1, t2;
        t1 = t2 = 0;
        int num = 0;
        long one = 1, two = 1;
        cin >> a >> b >> c >> d >> e >> f;
        for (char* s = (char *)a.data(), *tmp = (char *)b.data();s = strstr(s, tmp), s != NULL;s++)
            e.insert(e.end(), s, s + strlen(tmp));
        for (char* s = (char *)c.data(), *tmp = (char *)d.data(); s = strstr(s, tmp), s != NULL; s++)
            f.insert(f.end(), s, s + strlen(tmp));
        for (int i = e.size() - 1; i >= 0; i--) {
            t1 += (e[i] - '0')*one;
            one *= 10;
        }
        for (int i = f.size() - 1; i >= 0; i--) {
            t2 += (f[i] - '0')*two;
            two *= 10;
        }
        num = t1 + t2;
        cout << num << endl;
        return 0;
    }
    三、A除以B的计算
    #include"pch.h"
    #include <cstring>
    #include<iostream>
    using namespace std;
    int main()
    {
        string a, a1;
        string str;
        int b, r, q;
        cin >> a >> b;
        int l = a.size();
        int num = a[0] - '0';
        if (num >= b)
            a1.push_back(num / b + '0');
        for (int i = 1;i < l;i++)
        {
            q = num % b;
            num = q * 10 + a[i] - '0';
            a1.push_back(num / b + '0');
        }
        q = num % b;
        r = q;
        if (l == 1 && a[0] - '0' < b)
            cout << "0" << " " << a[0] - '0';
        else
            cout << a1 << " " << r;
        return 0;
    }
    四、石头剪刀布
    #include"pch.h"
    #include <iostream>
    #include<cstring>
    using namespace std;
    int main()
    {
        int n, win = 0, ping = 0, lose = 0;
        int first[3] = { 0 }, second[3] = { 0 };
        char sign[3] = { 'B','C','J' }, tmp1, tmp2;
        cin >> n;
        for (int i = 0; i < n; i++)
        {
            cin >> tmp1 >> tmp2;
            if (tmp1 == tmp2)
                ping++;
            else if ((tmp1 == 'B' && tmp2 == 'C') || (tmp1 == 'C' && tmp2 == 'J') || (tmp1 == 'J' && tmp2 == 'B'))
            {
                win++;
                if (tmp1 == 'B')
                    first[0]++;
                else if (tmp1 == 'C')
                    first[1]++;
                else
                    first[2]++;
            }
            else
            {
                lose++;
                if (tmp2 == 'B')
                    second[0]++;
                else if (tmp2 == 'C')
                    second[1]++;
                else
                    second[2]++;
            }
        }
        cout << win << " " << ping << " " << lose << endl;
        cout << lose << " " << ping << " " << win << endl;
        int num, t1 = 0, t2 = 0, num1;
        for (int i = 0; i < 3; i++)
        {
            if (first[i] > t1)
            {
                t1 = first[i];
                num = i;
            }
        }
        for (int i = 0; i < 3; i++)
        {
            if (second[i] > t2)
            {
                t2 = second[i];
                num1 = i;
            }
        }
        cout << sign[num] << " " << sign[num1];
        return 0;
    }
    五、统计数字出现次数
    #include"pch.h"
    #include <iostream>
    #include<stdio.h>
    #include<cstring>
    using namespace std;
    int main()
    {
        string s;
        getline(cin,s);
        int k;
        int a[10]={0};
        k=s.size();
        for (int i = 0;i < k;i++)
        {
            a[s[i] - '0']++;
        }
        for (int i = 0;i < 10;i++)
        {
            if (a[i] != 0)
            {
                printf("%d:%d ", i, a[i]);
            }
        }   
        return 0;
    }
    六、X进制的加法
    #include"pch.h"
    #include<iostream>
    using namespace std;
    int main()
    {
        int q, a, b, d, end;
        int i = 0;
        int r[40] = { 0 };
        cin >> a >> b >> d;
        end = a + b;
        q = end / d;
        while (q != 0)
        {
            r[i++] = end % d;
            end = q;
            q = end / d;
        }
        r[i++] = end % d;
        for (int j = i - 1;j >= 0;j--)
        {
            cout << r[j];
        }
        return 0;
    }
    七、组成最小数
    #include"pch.h"
    #include<iostream>
    #include<stdio.h>
    using namespace std;
    int main()
    {
        int a[10], i;
        for (i = 0;i < 10;i++)
            cin >> a[i];
        for (i = 1;i < 10;i++)
        {
            if (a[i] > 0)
            {
                cout << i;
                a[i]--;
                break;
            }
        }
        for (i = 0;i < 10;i++) {
            while (a[i]--)
            {
                cout << i;
            }
        }
        return 0;
    }
    八、时间测试
    #include"pch.h"
    #include<iostream>
    #include<math.h>
    using namespace  std;
    int main()
    {
        int a, b;
        int h, m, s;
        cin >> a >> b;
        float c;
        c = (b - a * 1.00) / 100;   
        h = c / 3600;
        m = ((c - h * 3600) / 60);
        s = round(c - h * 3600 - m * 60);
        if (s == 60)
        {
            m++;
            s = 0;
        }
        if (m == 60)
        {
            h++;
            m = 0;
        }
        printf("%02d:%02d:%02d", h, m, s);
        return 0;
    }
    这就是本周的学习内容,因为进度调整,下周将进行基于tensorflow的cnn图像识别代码
  • 相关阅读:
    SecureCRT显示乱码的解决办法
    Django如何安装指定版本
    转战简书
    NSmutableArray 的实现原理机制
    字符编码笔记:ASCII,Unicode 和 UTF-8
    [每天记录一个Bug]Cell中由于block加载网络请求产生的复用
    提示的简易写法
    价格不同字体大小的富文本实现方式
    星星的模块封装类 IDSStarsScoreView
    性别年龄的模块封装类 IDSGenderLeviNamedView
  • 原文地址:https://www.cnblogs.com/studya/p/11299338.html
Copyright © 2011-2022 走看看