사람마다 a^b

1896 단어
제목:사람마다 a^b 코드:(사실 간단)
#include<stdio.h>
int main()
{
    int a,b,t=0,i,j;
    while(scanf("%d%d",&a,&b)!=EOF)
    {
        if(a==0 && b==0)break;
        for(i=2,t=a;i<=b;i++)
        {
            if(t*a>=1000)
            {
                t=(t*a)%1000;
            }
            else t=t*a;
        }
        printf("%d
",t); } return 0; }//

제목을 보았을 때 이것은 대수의 연산이라는 것을 알았다. 본래 생각은 메모리 문자열이었지만 아무리 생각해도 모르겠다.나중에 매번 마지막 세 자리만 저장하면 되고 a^b만큼 큰 숫자는 저장할 필요가 없다는 것을 알게 되었다.t 저장 a의 값을 초기화하여 매번t*a이 1000보다 큰지 판단하고 1000보다 크면 마지막 세 자리수를 저장한다.여기에 주의점이 하나 있다. i는 2부터 시작해야 한다.

좋은 웹페이지 즐겨찾기