This commit is contained in:
HuangHai
2025-08-30 18:35:01 +08:00
commit 1f397eca87
6258 changed files with 1487241 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
C++高级班第十六次课程内容
1、训练讲解NOIP 1997年普及组复赛试题排列三角形,学习代码模拟和打表法,
让学生懂得打表法是解决TLE的一个有效方法。
2、训练讲解NOIP 1996年普及组复赛试题棋盘的摆放,训练坐标的同行,同列,
对角线的描述方法,为二维数组打下基础。
3、训练讲解NOIP 2012年普及组复赛不同质数乘积,学习质数的判断方法和循环模拟。
4、复习最大公约数的辗转相除法。

View File

@@ -0,0 +1,18 @@
#include<bits/stdc++.h>
using namespace std;
int main() {
int ans=0,i,n,x,tmp;
cin>>n>>x;
for(int i=1; i<=n; i++) {
tmp=i;
while(tmp>=1) {
if(tmp%10==x) ans++;
tmp/=10;
}
}
cout<<ans;
return 0;
}

View File

@@ -0,0 +1,19 @@
#include<bits/stdc++.h>
using namespace std;
int main() {
int A,B,C,D;
for(A=1; A<=4; A++)
for(B=1; B<=4; B++)
if(A!=B) {
for(C=1; C<=4; C++)
if(A!=C && B!=C) {
D=1+2+3+4-A-B-C;
if((A==3)^(B==4) &&(B==1)^(D==4) && (C==4)^(D==3) &&(D==2)^(A==1))
cout<<A<<B<<C<<D;
}
}
return 0;
}

View File

@@ -0,0 +1,22 @@
#include<bits/stdc++.h>
using namespace std;
int main() {
int i,n,num=0;
int s0=0,s1;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>s1;
if(s1>s0)
{
num+=s1-s0;
}
s0=s1;
}
cout<<num;
return 0;
}

View File

@@ -0,0 +1,47 @@
#include<cstdio>
using namespace std;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>23
//<2F>ο<EFBFBD><CEBF>ĵ<EFBFBD><C4B5><EFBFBD>https://blog.csdn.net/Ber_Bai/article/details/76722379
int main() {
int P;
int a,b,c,d,e,f,g,h,i;
int count=0;
scanf("%d",&P);
for(a=1; a<=P&&a<=9; a++) {
for(b=1; b<=P-a&&b<=9; b++) {
if(b==a) continue;
for(d=1; d<=P-a-b&&d<=9; d++) {
if(d==a||d==b) continue;
f=P-a-b-d;
if(f==a||f==b||f==d) continue;
if(f>=1&&f<=9) {
for(g=1; g<=P-f&&g<=9; g++) {
if(g==a||g==b||g==d||g==f) continue;
for(h=1; h<=P-f-g&&h<=9; h++) {
if(h==a||h==b||h==d||h==f||h==g) continue;
i=P-f-g-h;
if(i==a||i==b||i==d||i==f||i==g||i==h) continue;
if(i>=1&&i<=9) {
for(e=1; e<=P-i-a&&e<=9; e++) {
if(e==a||e==b||e==d||e==f||e==g||e==h||e==i) continue;
c=P-a-i-e;
if(c==a||c==b||c==d||c==f||c==g||c==h||c==i||c==e) continue;
if(c>=1&&c<=9) {
if(a<f&&f<i&&b<d&&g<h&&c<e) {
count++;
//printf("%d %d %d %d %d %d %d %d %d\n",a,b,c,d,e,f,g,h,i);
}
}
}
}
}
}
}
}
}
}
printf("%d",count);
return 0;
}

View File

@@ -0,0 +1,49 @@
#include<bits/stdc++.h>
using namespace std;
void show(int n,int i,int j) {
int a,b,c;
b=i;
c=j;
for(a=1; a<=n; a++) { //<2F><><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD>ϵ<EFBFBD>λ<EFBFBD><CEBB>
printf("(%d,%d)",i,a);
}
printf("\n");
for(a=1; a<=n; a++) { //<2F><><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD>ϵ<EFBFBD>λ<EFBFBD><CEBB>
printf("(%d,%d)",a,j);
}
printf("\n");
while(i>0&&j>0) { //<2F><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>¶Խ<C2B6><D4BD><EFBFBD><EFBFBD>ϵĸ<CFB5><C4B8>ӵ<EFBFBD>λ<EFBFBD><CEBB>
i--;
j--;
}
i++;
j++;
while(i<=n&&j<=n) {
printf("(%d,%d)",i,j);
i++;
j++;
}
printf("\n");
i=b;
j=c;
while(i<=n&&j>0) { //<2F><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>϶Խ<CFB6><D4BD><EFBFBD><EFBFBD>ϵĸ<CFB5><C4B8>ӵ<EFBFBD>λ<EFBFBD><CEBB>
i++;
j--;
}
i--;
j++;
while(i<=n&&j<=n&&i>0&&j>0) {
printf("(%d,%d)",i,j);
i--;
j++;
}
}
int main() {
int n,i,j;
scanf("%d %d %d",&n,&i,&j);
if(1<=i&&i<=n&&1<=j&&j<=n)
show(n,i,j);
return 0;
}

View File

@@ -0,0 +1,15 @@
#include<bits/stdc++.h>
using namespace std;
int main() {
int p,b=0;
scanf("%d",&p);
for(int i=2; i<=p/2; i++) {
if(p%i==0) {
printf("%d",p/i);
return 0;
}
}
}

View File

@@ -0,0 +1,20 @@
#include<bits/stdc++.h>
using namespace std;
int n;
bool prime(int x) {
int y=sqrt(x);
for(int i=2; i<=y; i++)
if(x%i==0)
return false;
return true;
}
int main() {
scanf("%d",&n);
for(int i=n-1; i>1; i--)
if(prime(i))
if(n%i==0) {
printf("%d\n",i);
return 0;
}
}

View File

@@ -0,0 +1,37 @@
#include<cstdio>
#include<cmath>
int main () {
int i , j,k,sum=0,cnt,s;
int t;
int a[12]= {0};
for(i=0; i<12; i++) {
scanf("%d",&a[i]);
}
for(i=0; i<12; i++) {
if(i==0) {
if(300-a[i]>=0) {
t=(300-a[i])/100;
sum=300-a[i]-t*100;
}
if(300-a[i]<0) {
printf("-1");
}
}
}
cnt=t;
s=sum;
for(i=1; i<12; i++) {
if(s+300-a[i]>=0) {
j=(s+300-a[i])/100;
cnt+=j;
s=s+300-a[i]-j*100;
if(i==11) {
printf("%d",s+cnt*120);
}
} else {
printf("%d",-(i+1));
return 0;
}
}
}

View File

@@ -0,0 +1,29 @@
#include <stdio.h>
//ѧ<><D1A7>շת<D5B7><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>
//https://blog.csdn.net/chen_zan_yu_/article/details/82943306
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>
long long gcd(long long x,long long y)
{
long long z = y;
while(x%y!=0)
{
z = x%y;
x = y;
y = z;
}
return z;
}
int main(void) {
long long a, b, c;
scanf("%lld%lld", &a, &b);
c = gcd(a, b);
b = b / c;
if (c % b == 0)
printf("Yes\n");
else
printf("No\n");
return 0;
}

View File

@@ -0,0 +1,30 @@
#include<bits/stdc++.h>
using namespace std;
int main(void) {
long long a, b,i;
scanf("%lld%lld", &a, &b);
int success=1;
while(b%2==0) {
if(a%2!=0) {
success=0;
}
b/=2;
}
for(i=3; i<=sqrt(b); i+=2) {
if(b%i==0) {
if(a%i!=0) {
success=0;
}
b/=i;
i-=2;
}
}
if (success)
printf("Yes\n");
else
printf("No\n");
return 0;
}

View File

@@ -0,0 +1,23 @@
#include<bits/stdc++.h>
using namespace std;
int main() {
int n,i;
n=12;
printf("%d=",n);
while(n%2==0) {
printf("%d*",2);
n/=2;
}
for(i=3; i<=sqrt(n); i+=2) {
if(n%i==0) {
n/=i;
printf("%d*",i);
i-=2;
}
}
printf("%d\n",n);
return 0;
}

View File

@@ -0,0 +1,9 @@
C++高级班今日课程安排
1、C++循环结构训练精讲不同质数的乘积,讲授最大公约数,辗转相除法。
2、C++循环结构训练精讲之分解质因数方法。
3、新课程:数据的批量存储,一维数组介绍。
编程课程进入有难度阶段,望大家提前到校,认真听讲,努力在课堂上完成练习,尽量不要将问题留到课后,以保证其它学科的正常学习时间。在学有余力的情况下,多去洛谷做题,训练自己的逻辑思考能力,有问题随时微信我,我将第一时间为同学们作出解答。