5.9打卡

发布时间 2023-05-09 20:07:03作者: 恋恋恋白

一、问题描述:
13的13次方的最后三位数

二、设计思路:
编程过程中,将累乘得到的积存储到变量last中,在进行下一次相乘之前先截取last的后三位再相乘,即:last%1000*13,将结果存储到last中:last=last*x(x的值为13)%1000。因第一次相乘时用到变量last的初值,故在定义时给last赋初值,或在参与计算之前给last赋初值1。

三、程序流程图

 

 

四、代码实现

#include<stdio.h>

int main()

{

    int i,x,y,last=1;

    printf("Input x and y:\n");

    scanf("%d %d",&x,&y);

    for(i=1;i<=y;i++)

        last=last*x%1000;

    printf("The last three digits is:%d\n",last);

 

}