자체 측정 - 3 배열 요소 순환 오른쪽 이동 문제 (20 분)
8668 단어 중국 대학 MOOC-진 월알고리즘c 언어
입력 형식: 각 입력 은 테스트 용례 를 포함 하고, 첫 번 째 줄 은 N (1 ≤ N ≤ 100) 과 M (≥ 0) 을 입력 하 며, 두 번 째 줄 은 N 개의 정 수 를 입력 하고, 사 이 를 빈 칸 으로 구분한다.
출력 형식: 한 줄 에서 출력 순환 오른쪽 M 비트 이후 의 정수 시퀀스 를 출력 합 니 다. 사 이 를 빈 칸 으로 구분 합 니 다. 시퀀스 끝 에 빈 칸 이 있 으 면 안 됩 니 다.
입력 예시:
6 2 1 2 3 4 5 6
출력 예시:
5 6 1 2 3 4
문제 풀이 방향: 우선, 2 개의 1 차원 배열 을 정의 합 니 다. 하 나 는 콘 솔 에서 입력 한 숫자 를 저장 하고 다른 하 나 는 이동 한 숫자 를 저장 합 니 다. 또한 함수 int zhuanhuan (int a, int b, int c) 을 정의 합 니 다.임의의 그룹 a 개의 숫자 를 계산 하 는 데 사용 합 니 다. b 번 째 위치 에 있 는 숫자 를 오른쪽으로 c 번 이동 한 후의 새로운 위 치 를 계산 합 니 다. 이동 한 후에 새로운 그룹 을 채 우 고 출력 하면 됩 니 다.
#include
#include
int main()
{
int a,b,i,j;
scanf("%d %d",&a,&b);
int c[100];
int d[100]={
0};
for(i=0;i<a;i++)
{
scanf("%d",&c[i]);
}
for(i=0;i<a;i++)
{
d[zhuanhuan(a,i+1,b)-1]=c[i];//
}
printf("%d",d[0]);
for(i=1;i<a;i++)
{
printf(" %d",d[i]);
}
return 0;
}
int zhuanhuan(int a,int b,int c)// 、 、 ---》
{
if(b+c<=a)// +
{
return b+c;
}
else if(b+c>a&&(b+c)%a==0)// +
{
return a;
}
else if(c>a&&c%a==0)// > % ==0
{
return b;
}
else
{
return (b+c)%a;// :
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【JavaScript】 볼록함 그라함 스캔을 구현, 애니메이션화한다! ? 【canvas】볼록포를 시각화해 본다. — s-yoshiki | 스크립트 카스 (@s_yoshiki_dev) JavaScript에서 그레이엄 스캔에 의해 정렬되어 가는 애니메이션을 구현했다. 아래쪽에서 데모로 소개. 참고 Java...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.