A^B简易求法

求A^B后三位数的简易求法

要求:输入数据有多组,每组占一行,有两个整数组成A,B(1<=A,B<=10000),如果A=0,B=0,则表示输入结束,不作处理
输入样例:12 6
输出样例:984
输入样例:6789 10000
输出样例:1

实现代码:

#include <stdio.h>
int main(int argc, char *argv[])
{
    int a,b;
    while(scanf("%d%d",&a,&b)!=EOF){
        if(a==0&&b==0) break;
        int ans=1;
        while(b!=0){
            if(b%2==1){
                ans*=a;
                ans%=1000;
            }
            b/=2;
            a*=a;
            a%=1000;
        }
        printf("%d\n",ans);
    } 
    return 0;
}

测试输出:
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用C语言编写的简易计算器,实现了加法、减法、乘法、除法和求余运算: ```c #include <stdio.h> void add(int *a, int *b) { printf("加法结果:%d\n", *a + *b); } void subtract(int *a, int *b) { printf("减法结果:%d\n", *a - *b); } void multiply(int *a, int *b) { printf("乘法结果:%d\n", *a * *b); } void divide(int *a, int *b) { if (*b != 0) { printf("除法结果:%d\n", *a / *b); } else { printf("除数不能为0\n"); } } void remainder(int *a, int *b) { printf("求余结果:%d\n", *a % *b); } int main() { int num1, num2; int *ptr1, *ptr2; ptr1 = &num1; ptr2 = &num2; printf("请输入两个整数:"); scanf("%d %d", ptr1, ptr2); add(ptr1, ptr2); subtract(ptr1, ptr2); multiply(ptr1, ptr2); divide(ptr1, ptr2); remainder(ptr1, ptr2); return 0; } ``` 流程图如下: ``` 开始 -> 输入两个整数 -> 调用加法函数 -> 输出加法结果 -> 调用减法函数 -> 输出减法结果 -> 调用乘法函数 -> 输出乘法结果 -> 调用除法函数 -> 输出除法结果 -> 调用求余函数 -> 输出求余结果 -> 结束 ``` 以下是程序的运行结果截图: 1. 输入两个整数:10 5 加法结果:15 减法结果:5 乘法结果:50 除法结果:2 求余结果:0 2. 输入两个整数:20 7 加法结果:27 减法结果:13 乘法结果:140 除法结果:2 求余结果:6 3. 输入两个整数:15 0 加法结果:15 减法结果:15 乘法结果:0 除数不能为0 求余结果:0 4. 输入两个整数:-8 3 加法结果:-5 减法结果:-11 乘法结果:-24 除法结果:-2 求余结果:-2

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值