- 题解
入门赛 & ZSYZ OI #3 题解
- 2024-3-27 13:43:29 @
回文?!
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
if(n/1000==n%10&&n%1000/100==n%100/10)cout<<"YES";
else cout<<"NO";
return 0;
}
小恐龙和字符菱形
#include<cstdio>
using namespace std;
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n/2;i++){
for(int j=1;j<=n/2-i+1;j++) printf(" ");
for(int j=1;j<=i*2-1;j++) printf("*");
for(int j=1;j<=n/2-i+1;j++) printf(" ");
printf("\n");
}
for(int i=1;i<=n;i++) printf("*");
printf("\n");
for(int i=n/2;i>=1;i--){
for(int j=1;j<=n/2-i+1;j++) printf(" ");
for(int j=1;j<=i*2-1;j++) printf("*");
for(int j=1;j<=n/2-i+1;j++) printf(" ");
printf("\n");
}
return 0;
}
衾汨禑蠒
#include<cstdio>
#include<cmath>
using namespace std;
int zys(int a) {
int s = 1;
if(a == 1) return 0;
for(int i=2; i<=sqrt(a); i++) {
if(a % i == 0) {
s += i;
s += a/i;
if(a == i * i) {
s -= i;
}
}
}
return s;
}
int main() {
int x, y;
scanf("%d%d", &x, &y);
for(int i=x; i<=y; i++) {
int k = zys(i);
if(i == zys(k) && i < k) {
printf("%d %d\n", i, k);
}
}
return 0;
}
这次是『斯内克矩阵2号』!
#include<cstdio>
#include<cstring>
using namespace std;
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0};
int a[25][25];
int main(){
memset(a,0,sizeof(a));
int n;
scanf("%d",&n);
int k=1,d=0,x=0,y=0;
while(k<=n*n){
a[x][y]=k++;
int xx=x+dx[d];
int yy=y+dy[d];
if(xx<0||xx>=n||yy<0||yy>=n||a[xx][yy]!=0) d=(d+1)%4;
x=x+dx[d];
y=y+dy[d];
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++) printf("%4d",a[i][j]);
printf("\n");
}
return 0;
}
0 条评论
目前还没有评论...