第二周学习总结2021.1.31

筛法

题目描述
用筛法求N以内的素数。

输入
N

输出
0~N的素数

样例输入
100

样例输出
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97

#include<bits/stdc++.h> 
using namespace std;
bool f[1000005];
int main()
{
 	int n; 
    cin>>n;
    f[1]=0;
    for(int i=2;i<=n;i++)
    f[i]=1;
    for(int i=2;i<=n;i++)
    {
    	if(f[i]==1)
    	{
      		for(int j=2;j*i<=n;j++)
      		f[i*j]=0;
    	}
    }
    for(int i=2;i<=n;i++)
    if(f[i])
    cout<<i<<endl;
}

快速幂

题目描述
给定A,B,P,求(A^B) mod P。

输入
输入共一行。
一行有三个数,N,M,P。

输出
输出共一行,表示所求。
共10组数据
对100%的数据,A,B为long long范围内的非负整数,P为int内的非负整数。

样例输入
2 5 3

样例输出
2

#include <stdio.h>
int main()
{
	long long n, m, p;
	int sum = 1;
	scanf("%lld %lld %lld", &n, &m, &p);
	n %= p;
	while (m>0)
	{
		if (m % 2 == 1)
		{
			sum = (sum * n) % p;
		}	
		m /= 2;
		n = (n * n) % p;
	}
		printf("%d\n", sum);
		return 0;
}

快速排序

题目描述
用递归来实现快速排序(quick sort)算法。快速排序算法的基本思路是:假设要对一个数组a进行排序,且a[0] = x。首先对数组中的元素进行调整,使x放在正确的位置上。同时,所有比x小的数都位于它的左边,所有比x大的数都位于它的右边。然后对于左、右两段区域,递归地调用快速排序算法来进行排序。
输入
输入只有一行,包括若干个整数(不超过10个),以0结尾。
输出
输出只有一行,即排序以后的结果(不包括末尾的0。
样例输入
5 2 6 1 7 3 4 0
样例输出
1 2 3 4 5 6 7

#include<stdio.h>
#include<string.h>
int a[10];
void quicksort(int left,int right)
{
	int i=left,j=right,t,temp;
	temp=a[left];
	if(left>right)
	return;
	while(i!=j)
	{
		while(a[j]>=temp&&i<j)
		j--;
		while(a[i]<=temp&&i<j)
		i++;
		if(i<j)
		{
			t=a[i];
			a[i]=a[j];
			a[j]=t;
    	}
	}
	a[left]=a[i];
	a[i]=temp;
	quicksort(left,i-1);
	quicksort(i+1,right);
} 
int main()
{
	int i=0;
    while(i<10)
    {
        scanf("%d",&a[i]);
        if(a[i]==0)
            break;
        else
        {
            i++;
        }
    }
	quicksort(0,i-1);
	for(int j=0;j<i;j++)
	printf("%d ",a[j]);
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要将数据转换成pandas的DataFrame格式,代码如下: ```python import pandas as pd data = {'日期/项目(A厂)': ['2021.1.1', '2021.1.2', '2021.1.3', '2021.1.4', '2021.1.5', '2021.1.6', '2021.1.7', '2021.1.8', '2021.1.9', '2021.1.10', '2021.1.11', '2021.1.12', '2021.1.13', '2021.1.14', '2021.1.15', '2021.1.16', '2021.1.17', '2021.1.18', '2021.1.19', '2021.1.20', '2021.1.21', '2021.1.22', '2021.1.23', '2021.1.24', '2021.1.25', '2021.1.26', '2021.1.27', '2021.1.28', '2021.1.29', '2021.1.30', '2021.1.31'], '进水': [149, 164, 86, 164, 146, 136, 93, 96, 90, 134, 141, None, None, None, 138, 138, 161, None, None, None, None, None, None, None, None, None, 114, 107, 121, None, None], 'COD': [20.1, 10.1, 37.1, 16.4, 10.9, 18.7, 17.2, 17.1, 18.5, 23.8, 17.7, 15.6, 11.0, 19.5, 18.5, 15.2, 16.5, 16.3, 17.3, 29.5, 20.7, 19.5, 18.9, 12.0, 23.9, 11.7, 10.6, 11.1, 14.2, 10.6, 12.5], '氨氮': [3.54, 0.65, 1.92, 1.44, 0.84, 1.59, 1.15, 1.61, 1.42, 2.46, 2.50, 1.48, 1.04, 3.55, 1.60, 1.82, 2.60, 2.10, 1.54, 3.54, 2.67, 3.25, 2.12, 2.38, 2.34, 1.51, 1.58, 1.31, 1.66, 1.26, 1.71], '总磷': [30.7, 20.1, 44.1, 21.5, 18.4, 29.7, 23.5, 24.2, 26.9, 31.7, 28.3, None, None, 24.0, 26.9, 27.8, 20.5, 27.9, 31.8, 37.8, 24.9, 29.3, None, 23.4, 23.5, 12.4, 27.9, 19.3, 17.6, 19.5, 15.4]} df = pd.DataFrame(data) ``` 接下来,我们可以使用matplotlib库进行数据可视化,这里我选择绘制折线图。代码如下: ```python import matplotlib.pyplot as plt # 设置图形大小 plt.figure(figsize=(10, 6)) # 绘制折线图 plt.plot(df['日期/项目(A厂)'], df['进水'], label='进水') plt.plot(df['日期/项目(A厂)'], df['COD'], label='COD') plt.plot(df['日期/项目(A厂)'], df['氨氮'], label='氨氮') plt.plot(df['日期/项目(A厂)'], df['总磷'], label='总磷') # 添加标题和标签 plt.title('A厂水质监测', fontsize=16) plt.xlabel('日期', fontsize=12) plt.ylabel('含量', fontsize=12) # 添加图例 plt.legend() # 显示图形 plt.show() ``` 运行上述代码,即可得到一张含有4条曲线的折线图,用于展示A厂水质监测数据的趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值