'commit'
This commit is contained in:
11
C++课程/第十六课循环结构程序设计实例2/C++高级班第十六次课程内容.txt
Normal file
11
C++课程/第十六课循环结构程序设计实例2/C++高级班第十六次课程内容.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
C++高级班第十六次课程内容
|
||||
|
||||
1、训练讲解NOIP 1997年普及组复赛试题排列三角形,学习代码模拟和打表法,
|
||||
让学生懂得打表法是解决TLE的一个有效方法。
|
||||
|
||||
2、训练讲解NOIP 1996年普及组复赛试题棋盘的摆放,训练坐标的同行,同列,
|
||||
对角线的描述方法,为二维数组打下基础。
|
||||
|
||||
3、训练讲解NOIP 2012年普及组复赛不同质数乘积,学习质数的判断方法和循环模拟。
|
||||
|
||||
4、复习最大公约数的辗转相除法。
|
||||
18
C++课程/第十六课循环结构程序设计实例2/p169.cpp
Normal file
18
C++课程/第十六课循环结构程序设计实例2/p169.cpp
Normal 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;
|
||||
}
|
||||
|
||||
|
||||
19
C++课程/第十六课循环结构程序设计实例2/p171.cpp
Normal file
19
C++课程/第十六课循环结构程序设计实例2/p171.cpp
Normal 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;
|
||||
}
|
||||
|
||||
|
||||
22
C++课程/第十六课循环结构程序设计实例2/p174.cpp
Normal file
22
C++课程/第十六课循环结构程序设计实例2/p174.cpp
Normal 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;
|
||||
}
|
||||
|
||||
|
||||
47
C++课程/第十六课循环结构程序设计实例2/p174_1.cpp
Normal file
47
C++课程/第十六课循环结构程序设计实例2/p174_1.cpp
Normal 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;
|
||||
}
|
||||
|
||||
49
C++课程/第十六课循环结构程序设计实例2/p175.cpp
Normal file
49
C++课程/第十六课循环结构程序设计实例2/p175.cpp
Normal 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;
|
||||
}
|
||||
|
||||
15
C++课程/第十六课循环结构程序设计实例2/p175_3.cpp
Normal file
15
C++课程/第十六课循环结构程序设计实例2/p175_3.cpp
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
20
C++课程/第十六课循环结构程序设计实例2/p175_3_2.cpp
Normal file
20
C++课程/第十六课循环结构程序设计实例2/p175_3_2.cpp
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
37
C++课程/第十六课循环结构程序设计实例2/p176.cpp
Normal file
37
C++课程/第十六课循环结构程序设计实例2/p176.cpp
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
29
C++课程/第十六课循环结构程序设计实例2/p177.cpp
Normal file
29
C++课程/第十六课循环结构程序设计实例2/p177.cpp
Normal 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;
|
||||
}
|
||||
30
C++课程/第十六课循环结构程序设计实例2/p177_2.cpp
Normal file
30
C++课程/第十六课循环结构程序设计实例2/p177_2.cpp
Normal 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;
|
||||
}
|
||||
23
C++课程/第十六课循环结构程序设计实例2/所有质数因子.cpp
Normal file
23
C++课程/第十六课循环结构程序设计实例2/所有质数因子.cpp
Normal 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;
|
||||
}
|
||||
|
||||
|
||||
9
C++课程/第十六课循环结构程序设计实例2/第十六课内容介绍.txt
Normal file
9
C++课程/第十六课循环结构程序设计实例2/第十六课内容介绍.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
C++高级班今日课程安排
|
||||
|
||||
1、C++循环结构训练精讲不同质数的乘积,讲授最大公约数,辗转相除法。
|
||||
|
||||
2、C++循环结构训练精讲之分解质因数方法。
|
||||
|
||||
3、新课程:数据的批量存储,一维数组介绍。
|
||||
|
||||
编程课程进入有难度阶段,望大家提前到校,认真听讲,努力在课堂上完成练习,尽量不要将问题留到课后,以保证其它学科的正常学习时间。在学有余力的情况下,多去洛谷做题,训练自己的逻辑思考能力,有问题随时微信我,我将第一时间为同学们作出解答。
|
||||
BIN
C++课程/第十六课循环结构程序设计实例2/第十六课循环结构程序设计实例.pptx
Normal file
BIN
C++课程/第十六课循环结构程序设计实例2/第十六课循环结构程序设计实例.pptx
Normal file
Binary file not shown.
Reference in New Issue
Block a user