第11关 - 课程G 冒泡、选择、插入排序、分解质因子

1015.筛选质数(课程G)

登录

1015.筛选质数(课程G) 难度:1

1015.筛选质数(课程G) 难度:1_dllglvzhenfeng的博客-CSDN博客

筛选素数 进制转换

筛选素数 进制转换-CSDN博客

/*
1015.筛选质数(课程G)
https://www.51goc.com/level/program/102/1015

1015.筛选质数(课程G) 难度:1
https://blog.csdn.net/dllglvzhenfeng/article/details/128721425

筛选素数 进制转换
https://blog.csdn.net/predoctor/article/details/38011287
*/
#include <bits/stdc++.h>
using namespace std;
int N, ANS;
int a[1000010];
int main()
{
    //freopen("1452.in","r",stdin);
    //freopen("1452.out","w",stdout);
    cin >> N;
    int ct=0;   //记录被删除的个数
    for (int i=2; i*i < N+1; i++)
	   	if (a[i]==0)  //"选"出质数i
	   	{		   
		   	for (int j=i+i; j < N+1; j+=i )
		   	{
			  if( a[j]==0 )   ct++;
			  a[j]=i;  //"筛"掉i的倍数
		   	}
	   	}
    
	ANS = N-ct-1;
    
    cout <<  ANS << endl;
    
    return 0;
}



1016.倍数(课程G)

登录

#include<bits/stdc++.h>
using namespace std;
int main(){
    
    int a[30+5],n,ans=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    
    for(int i=1;i<=100000;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if( i%a[j]==0 )
            {
                ans+=1;
                break;
            }
        }
    }
    
    cout<<ans<<endl;
    
    return 0;
}



1017.冒泡排序(课程G)

登录

/*
1017.冒泡排序(课程G) 难度:1
https://www.51goc.com/question/viewProgram/1017
*/
#include<bits/stdc++.h>
using namespace std;
int N;
int a[100010];
int main(){
    int N;
    //freopen("1454.in","r",stdin);
    //freopen("1454.out","w",stdout);
     cin >> N;
     for (int i=0; i < N; i++)
		cin >> a[i];

     for (int i=N-1; i > 0; i--)
	 {
		for (int j=0; j < i; j++)
			if( a[j]>a[j+1] )
				swap(a[j],a[j+1]);
     }	 
    for (int i=0; i < N; i++)
      cout << a[i] << " ";

    return 0;
}
#include<bits/stdc++.h>
using namespace std;
int N;
int a[100010];
int main()
{
     cin >> N;
     for (int i=0; i < N; i++)
		cin >> a[i];

     for (int i=N ; i > 0; i--)
	 {
		for (int j=0; j < i; j++)
			if(a[j]>a[j+1])
				swap(a[j],a[j+1]);
     }	 
    for (int i=1; i <= N; i++)
      cout << a[i] << " ";

    return 0;
}

 1018.选择排序(课程G)

登录

/*
1018.选择排序(课程G)
https://www.51goc.com/level/program/102/1018
*/
#include<bits/stdc++.h>
using namespace std;
int N;
int a[100010];
int main()
{
     cin >> N;
     for (int i=0; i < N; i++)
		cin >> a[i];

     for (int i=N-1; i > 0; i--)
	 {
		int maxx = 0;  //最大值开始假设在第0位
		for (int j=1; j <= i; j++)    //扫描找最大值
			if (a[j] >a[maxx]) maxx=j; //记录大值的位置

		swap(a[maxx],a[i]);    //把最大值交换到后面
     }	 
     for (int i=0; i < N; i++)
		cout << a[i] << " ";
     return 0;
}



1019.插入排序(课程G)

登录

/*
1019.插入排序(课程G)01
https://www.51goc.com/level/program/102/1019
*/
#include<bits/stdc++.h>
using namespace std;
int N;
int a[100010];
int main()
{
     cin >> N;
     for (int i=0; i < N; i++)
		cin >> a[i];
    sort(a,a+N);
    for (int i=0; i < N; i++)
      cout << a[i] << " ";

    return 0;
}

#include<bits/stdc++.h>
using namespace std;
int N;
int a[100010];
int main()
{
     cin >> N;
     for (int i=1; i <= N; i++) //输入数组
		cin >> a[i];
    a[0]= -10000001;      //添加一个“哨兵”
     for (int i=1; i <= N ; i++)  //新数位置
	 {
           int temp=a[i];      //取当前的新数---(A)
		int j;
		for (j=i-1; a[j] > temp; j--) //找到适当位置。---(B)
		   a[j+1]=a[j];//---(C)	
	  a[j+1]=temp;              
     }
	 
	 for (int i=1; i <= N; i++)
		cout << a[i] << " ";
    return 0;
}



1020.跳房子(课程G)

登录

c++跳房子(课程G)_喝闷酒的师傅的博客-CSDN博客

/*
1020.跳房子(课程G)
https://www.51goc.com/level/program/102/1020
https://blog.csdn.net/weixin_70441119/article/details/130189062
*/
#include<bits/stdc++.h>
using namespace std;
int n,a[1000002],p=0;
int main(){
    cin>>n;    
    for(int i=0; i<=n-1; i=i+4)
    {
        a[i]=1;
        a[i-1]=1;
    }
    for(int i=0; i<=n-1; i=i+4)
    {
        a[i-1]=1;
        a[i]=1;
        a[i+1]=1;
    }
    for(int i=0; i<=n-1; i++)
    {
        if(a[i]==1)
        {
            continue;
        }
        else p++;
    }
    cout<<p+1; 
    return 0;
}
/*
1020.跳房子(课程G) 优化 
https://www.51goc.com/level/program/102/1020
https://blog.csdn.net/weixin_70441119/article/details/130189062
*/
#include<bits/stdc++.h>
using namespace std;
int n,a[1000002],p=0;
int main(){
    cin>>n;    
    /*
	a[0]=1;
	for(int i=4; i<=n-1; i=i+4)
    {
        a[i]=1;
        a[i-1]=1;
    }
    */
    
	a[0]=1;
	for(int i=4; i<=n-1; i=i+4)
    {
        a[i-1]=1;
        a[i]=1;
        a[i+1]=1;
    }
    for(int i=0; i<=n-1; i++)
    {
        if(a[i]==1)
        {
            continue;
        }
        else p++;
    }
    cout<<p<<endl;
	//cout<<p+1; 
    return 0;
}

1247:河中跳房子

信息学奥赛一本通(C++版)在线评测系统

1417:【17NOIP普及组】跳房子

信息学奥赛一本通(C++版)在线评测系统

 




1021.分解质因子(课程G)

登录

1021.分解质因子(课程G)-CSDN博客

/*
1021.分解质因子(课程G)
https://www.51goc.com/level/program/102/1021
https://blog.csdn.net/weixin_70441119/article/details/130254128
*/
#include<bits/stdc++.h>
using namespace std;
int b[1000003],c,d,a[1000003],s=0,x[1000003],p=0;
int main(){
cin>>c>>d;   
for(int i=2; i<=1000000; i++)
{
    if(a[i]==0)
   for(int j=2; ; j++)
   {
   		if(i*j>1000000) break;
   		else a[i*j]=1;   		
   }
}
for(long long i=2; i<=1000000; i++)
{	
		if(a[i]!=1)
		{
			s++;
			b[s]=i;
		}
}
for(long long i=c; i<=d; i++)
{
	p=i;
    for(;;)
    {
        if(p==1)break;
        for(int j=1; j<=s; j++)
	    {
            if(p%b[j]==0)
            {
                cout<<b[j]<<" ";
                p=p/b[j];
                break;
            }
 
	    }
    }	
	p=0;
	cout<<endl;	
}
    return 0;
}



1022.交换次数(课程G)

登录

1022.交换次数(课程G)-CSDN博客

/*
1022.交换次数(课程G)
https://www.51goc.com/level/program/102/1022
https://blog.csdn.net/weixin_70441119/article/details/130254214
*/
#include<bits/stdc++.h>
using namespace std;
int n,a[1002],t=0,h=0; 
int main(){
cin>>n;
for(int i=1; i<=n; i++)cin>>a[i];
for(int i=1; i<n; i++) 
{
    for(int j=n; j>1; j--)
    {
        if(a[j]<a[j-1])
        {
            h++;
           swap(a[j],a[j-1]);
        }
    }
}
cout<<h;
    return 0;
}



1023.兔子(课程G)

登录

/*
1023.兔子(课程G)
https://www.51goc.com/level/program/102/1023
*/
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a[100000],n,ans=0;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+n+1,greater<int>());
	for(int i=1;i<=n;i++){
		ans+=a[i]*i;
	}
	cout<<ans;
	return 0;
}








1、少儿编程(c++)解奥数题目(6集)

https://www.douyin.com/video/7162732744315850025

2、少儿编程(c++)少儿编程教育(56集)

https://www.douyin.com/video/7155314963169447203

3、每天五分钟学会C++(105集)

https://www.douyin.com/video/6835585623860972813

4、《小学生C++趣味编程》(11集)

https://www.douyin.com/video/7129333790777838856

5、少儿C++编程(26集)

https://www.douyin.com/video/7172194435365637412

6、精简版c++编程入门+配套练习(42集)

https://www.douyin.com/video/7110221877854883080

7、c++编程(11集)

https://www.douyin.com/video/7182078355796135205

8、小学生C++趣味编程(3集)

https://www.douyin.com/video/7233960044717493519

9、C++编程入门宝典:从零基础(4集)

https://www.douyin.com/video/7294325637018291482

10、从零开始学习C++编程(36集)

https://www.douyin.com/video/7051102938487426334




1、啊哈编程星球

啊哈编程星球!编程学习从这开始~

适用于:编程初学者、小学一至三年级

2、慧通教育

慧通教育

适用于:编程初学者、小学生编程入门

3、《信息学奥赛一本通 编程启蒙》C++版

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

适用于:编程初学者、小学生编程启蒙

争取在小学1-4年级就将2、3两个题库的全部或大部分题 做完

为进一步深入学习信奥打好坚实的基础

4、信息学奥赛一本通

信息学奥赛一本通(C++版)在线评测系统

5、洛谷

https://www.luogu.com.cn/

洛谷题单广场

题单列表 - 洛谷

6、AcWing

AcWing

7、编程魔法师

编程魔法师




小学生C++编程基础(一)--- 123题

小学生C++编程基础(一)--- 123题_小学c++编程题目-CSDN博客

第9关 - 课程E 数组前缀和(C++进阶课程)

第9关 - 课程E 数组前缀和(C++进阶课程)-CSDN博客

第10关 - 课程F 二重循环应用1

第10关 - 课程F 二重循环应用1-CSDN博客




有哪些信息学奥赛相关的比赛和考试

有哪些信息学奥赛相关的比赛和考试-CSDN博客

中小学信息学相关比赛汇总(C++类)

中小学信息学相关比赛汇总(C++类)_c++ 比赛-CSDN博客

信息学奥赛学习、训练、测试的顺序,思路及方法

信息学奥赛学习、训练、测试的顺序,思路及方法_dllglvzhenfeng的博客-CSDN博客

信息学奥赛学习规划 国内顶尖信息学奥赛名校训练模式 信奥中的数学

信息学奥赛学习规划 国内顶尖信息学奥赛名校训练模式 信奥中的数学_csp-s_dllglvzhenfeng的博客-CSDN博客

信息学奥赛训练体系(2023.02.21)

信息学奥赛训练体系(2023.02.21)-CSDN博客

CSP-J2 CSP-S2 复赛 第2轮 比赛技巧-做题策略与时间分配、容易犯错误汇总 NOI Linux2.0文件操作等

CSP-J2 CSP-S2 复赛 第2轮 比赛技巧-做题策略与时间分配、容易犯错误汇总 NOI Linux2.0文件操作等_dllglvzhenfeng的博客-CSDN博客

NOI Linux 2.0的简单用法、CSP-J2、CSP-S2复赛注意事项等

NOI Linux 2.0的简单用法、CSP-J2、CSP-S2复赛注意事项等_dllglvzhenfeng的博客-CSDN博客

创新、创新思维书籍(2023.10。10)

创新、创新思维书籍(2023.10。10)-CSDN博客

调试与对拍

调试与对拍_python进行对拍-CSDN博客

信奥中的“骗”分神技 ---“打表”

信奥中的“骗”分神技 ---“打表”_c++ 信奥比赛 中文 英文_dllglvzhenfeng的博客-CSDN博客

【NOI2022】PV「什么是信息学精神?」

【NOI2022】PV「什么是信息学精神?」-CSDN博客

三年级前如何学习规划

https://www.douyin.com/video/7309415438805404938




【NOI2022】PV「什么是信息学精神?」

【NOI2022】PV「什么是信息学精神?」-CSDN博客

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dllglvzhenfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值