给定非负整数a,b,m,利用基本的算术运算符号(+ - / * %)以及位运算符,计算a^b mod m 输入要求:一行三个非负整数,空格相间,分为a,b,m的值,其中m不为0。 输出要求:结果 例如输入 2 10 5 输出 4
#include <stdio.h>
//求a的b次方
unsigned int power(unsigned int a, unsigned int b)
{
unsigned int sum = 1;
int i = 0;
for (i = 0; i < b; i++)
{
sum *= a;
}
return sum;
}
int main(void)
{
unsigned int a, b, m;//输入
printf("Input a b m:");
scanf("%d %d %d", &a, &b, &m);
unsigned int ret = 0, sum = 0;
sum = power(a, b);//求b次方和
ret = sum % m;
printf("ret = %d", r