printf("%d\n", temp); 가 문제인 듯 하네요. temp 가 0 이면 10 입니다.
© 2018 All Rights Reserved. 주식회사 스타트링크 |
서비스 약관 |
개인정보 보호 |
결제 이용 약관 |
도움말 |
광고 문의 |
대회 개최 문의
사업자 등록 번호: 541-88-00682
대표자명: 최백준
주소: 서울시 서초구 강남대로 359 대우도씨에빛2 5층 502호
전화번호: 02-521-0487 (이메일로 연락 주세요)
이메일: [email protected]
통신판매신고번호: 제 2017-서울서초-2193 호
이 사이트는 ACM 또는 ACM-ICPC 대회와 무관하며, ACM으로부터 승인이나 지원을 받지 않고 있습니다.
lkbin95 1년 전
처음에는 아래코드처럼 주어지면 바로 계산해서 내놓는 코드를 짜서 실제로 잘 돌아가는것을 확인해보고 제출했는데 틀렸다고 나옵니다
#include<stdio.h>
int main()
{
int tcase, com1, com2,temp;
int low, up;
scanf("%d", &tcase);
for (com1 = 0; com1 < tcase ; com1++)
{
scanf("%d %d", &low, &up);
temp = low;
for (com2 = 1; com2<up; com2++)
{
temp = low*temp % 10;
}
printf("%d\n", temp);
}
}
그런데 테스트 했을때 결과값은 잘나오는데 자꾸 틀렸다고 나오는겁니다.
그래서 아무래도 몃백번 계산을 반복하는 비효율적인 구조라 그런가 보다 해서 아예 지수 연산이니까 아예 형식화로 시켜서 switch case문으로 푸는 코드를 만들어봤습니다.
#include<stdio.h>
int main()
{
int cas, whi;
int low, up;
scanf("%d", &cas);
for (whi = 0; whi<cas; whi++)
{
scanf("%d %d", &low, &up);
switch (low)
{
case 1:
printf("1\n");
break;
case 2:
if (up % 4 == 1)
{
printf("2\n");
break;
}
else if (up % 4 == 2)
{
printf("4\n");
break;
}
else if (up % 4 == 3)
{
printf("8\n");
break;
}
else if (up % 4 == 0)
{
printf("6\n");
break;
}
case 3:
if (up % 4 == 1)
{
printf("3\n");
break;
}
else if (up % 4 == 2)
{
printf("9\n");
break;
}
else if (up % 4 == 3)
{
printf("7\n");
break;
}
else if (up % 4 == 0)
{
printf("1\n");
break;
}
case 4:
if (up % 2 == 1)
{
printf("4\n");
break;
}
else if (up % 2 == 0)
{
printf("6\n");
break;
}
case 5:
printf("5\n");
break;
case 6:
printf("6\n");
break;
case 7:
if (up % 4 == 1)
{
printf("7\n");
break;
}
else if (up % 4 == 2)
{
printf("9\n");
break;
}
else if (up % 4 == 3)
{
printf("3\n");
break;
}
else if (up % 4 == 0)
{
printf("1\n");
break;
}
case 8:
if (up % 4 == 1)
{
printf("8\n");
break;
}
else if (up % 4 == 2)
{
printf("4\n");
break;
}
else if (up % 4 == 3)
{
printf("2\n");
break;
}
else if (up % 4 == 0)
{
printf("6\n");
break;
}
case 9:
if (up % 2 == 1)
{
printf("9\n");
break;
}
else if (up % 2 == 0)
{
printf("3\n");
break;
}
}
}
}
이 코드 또한 예제에 따라서 실행은 잘되지만 또 틀렸다고 나옵니다.
생각나는 방법은 다해본것 같은데 제가 어디서 틀려서 이렇게 된걸까요.