1015.筛选质数(课程G)
1015.筛选质数(课程G) 难度:1
筛选素数 进制转换
/*
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)
/*
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:河中跳房子
1417:【17NOIP普及组】跳房子
1021.分解质因子(课程G)
/*
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)
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集)
2、少儿编程(c++)少儿编程教育(56集)
3、每天五分钟学会C++(105集)
4、《小学生C++趣味编程》(11集)
5、少儿C++编程(26集)
6、精简版c++编程入门+配套练习(42集)
7、c++编程(11集)
8、小学生C++趣味编程(3集)
9、C++编程入门宝典:从零基础(4集)
10、从零开始学习C++编程(36集)
1、啊哈编程星球
适用于:编程初学者、小学一至三年级
2、慧通教育
适用于:编程初学者、小学生编程入门
3、《信息学奥赛一本通 编程启蒙》C++版
适用于:编程初学者、小学生编程启蒙
争取在小学1-4年级就将2、3两个题库的全部或大部分题 做完
为进一步深入学习信奥打好坚实的基础
4、信息学奥赛一本通
5、洛谷
洛谷题单广场
6、AcWing
7、编程魔法师
小学生C++编程基础(一)--- 123题
第9关 - 课程E 数组前缀和(C++进阶课程)
第10关 - 课程F 二重循环应用1
有哪些信息学奥赛相关的比赛和考试
中小学信息学相关比赛汇总(C++类)
信息学奥赛学习、训练、测试的顺序,思路及方法
信息学奥赛学习规划 国内顶尖信息学奥赛名校训练模式 信奥中的数学
信息学奥赛学习规划 国内顶尖信息学奥赛名校训练模式 信奥中的数学_csp-s_dllglvzhenfeng的博客-CSDN博客
信息学奥赛训练体系(2023.02.21)
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)
调试与对拍
信奥中的“骗”分神技 ---“打表”
【NOI2022】PV「什么是信息学精神?」
三年级前如何学习规划