怎么写这道C语言的程序题目.A*B求a* b % m;Input题目包含多组测试数据,每行3个非负整数a ,b ,m,(a ,b不超过1000位,m < 10000),输入一组0结束.Output输出a * b % m的值;Sample Input1 2 30 0 0Sample Output2

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 06:54:49
怎么写这道C语言的程序题目.A*B求a* b % m;Input题目包含多组测试数据,每行3个非负整数a ,b ,m,(a ,b不超过1000位,m < 10000),输入一组0结束.Output输出a * b % m的值;Sample Input1 2 30 0 0Sample Output2

怎么写这道C语言的程序题目.A*B求a* b % m;Input题目包含多组测试数据,每行3个非负整数a ,b ,m,(a ,b不超过1000位,m < 10000),输入一组0结束.Output输出a * b % m的值;Sample Input1 2 30 0 0Sample Output2
怎么写这道C语言的程序题目.
A*B
求a* b % m;
Input
题目包含多组测试数据,每行3个非负整数a ,b ,m,(a ,b不超过1000位,m < 10000),输入一组0结束.
Output
输出a * b % m的值;
Sample Input
1 2 3
0 0 0
Sample Output
2

怎么写这道C语言的程序题目.A*B求a* b % m;Input题目包含多组测试数据,每行3个非负整数a ,b ,m,(a ,b不超过1000位,m < 10000),输入一组0结束.Output输出a * b % m的值;Sample Input1 2 30 0 0Sample Output2
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//
typedef unsigned int uint;
typedef unsigned short ushort;
static const uint kMaxCount = 256;
//
typedef struct st_ret {
    uint ret[kMaxCount];
    ushort count;
    st_ret* next;
} st_ret;
//
void init_st_ret(st_ret* st)
{
    st->count = 0;
    st->next = 0;
}
//
st_ret* create_st_ret()
{
#ifdef __cplusplus
    st_ret* p = (st_ret*)malloc(sizeof(st_ret));
#else
    st_ret* p = malloc(sizeof(st_ret));
#endif
    init_st_ret(p);
    return p;
}
//
st_ret* fill_st_ret(st_ret* st, uint ret_value)
{
    st_ret* p = st;
    if (st->count >= kMaxCount)
        p = st->next = create_st_ret();
    p->ret[p->count++] = ret_value;
    return p;
}
//
void free_st_ret(st_ret* st_head)
{
    st_ret* p = st_head;
    while (p)
    {
        st_ret* q = p;
        p = p->next;
        free(q);
    }
}
//
void print_st_ret(st_ret* st)
{
    uint i = 0;
    for(; i < st->count; ++i)
        printf("%u\n", st->ret[i]);
}
//
void print_st_rets(st_ret* st_head)
{
    printf("\n");
    st_ret* p = st_head;
    while (p)
    {
        print_st_ret(p);
        p = p->next;
    }
}
//
static const int kMaxNumberLength = 1000;
int trim_big_number(const char* big_number, uint value_upper)
{
    int len = strlen(big_number);
    if (EOF == len || kMaxNumberLength < len)
        return 0;
    int digit_num = 0;
    for (uint i = value_upper; i > 0; ++digit_num, i = i/10) ;
    if (digit_num >= len)
        return strtoul(big_number, NULL, 10);
    else
    {
        const char* trim_number = big_number + len - digit_num;
        return strtoul(trim_number, NULL, 10);
    }
}
//
int main(int argc, char** argv)
{
    st_ret* p = create_st_ret();
    st_ret* q = p;
    char szInputString[1024] = { 0 };
    while (true)
    {
        int a, b, m;
        scanf("%s", szInputString);
        a = trim_big_number(szInputString, 10000);
        scanf("%s", szInputString);
        b = trim_big_number(szInputString, 10000);
        scanf("%d", &m);
        if (a == 0 && b == 0 && m == 0)
            break;
        if (m == 0)
            q = fill_st_ret(q, 0);
        else
            q = fill_st_ret(q, a * b % m);
    }
    print_st_rets(p);
    free_st_ret(p);
    printf("\n");
    system("pause");
    return 0;
}



之前看错题目,以为a, b不大于1000.修改.

怎么写这道C语言的程序题目.A*B求a* b % m;Input题目包含多组测试数据,每行3个非负整数a ,b ,m,(a ,b不超过1000位,m < 10000),输入一组0结束.Output输出a * b % m的值;Sample Input1 2 30 0 0Sample Output2 两个矩阵a 和b 的乘积,结果为c 矩阵,求c 语言程序! 编一个C语言程序--求f(x)在a,b上的定积分 有两个数组A,B,判断数组B是数组A的子集,c语言程序应该怎么写? 求大神指教几个C语言题目.100财富等着你编程题目1、编写完整程序实现如下功能:用户从键盘输入变量a和变量b的值,计算a+|b|,并输出,要求调用库函数求|b|.编程题目2、编写程序实现用户输入三 在语言处理程序中,解释程序的功能是() A.解释执行高级语言程序 B.将汇编语言程序编译成目标程序 C.解释执行汇编语言程序 D.将高级语言程序编译成目标程序 用C语言分别编写求两个正整a,b的最大公约数和最小公倍数的程序 pascal语言改错程序、题目↓program x_dd;var a,b,c:ingteger;beginread(a);b:=a;for c:= 1 to 99 dobeginread(a);if b C语言程序(输入两个数 a b 求ab之间的质数并且输出所有质数之和) Pascal语言题目《求三角形面积》已经三角形三边的长,求三角形的面积,对了,用海伦公式:p=(a+b+c)/2,s=√p*(p-a)*(p-b)*(p-c)编写一个程序,输入一个三角形的三条边a,b,c(a,b,c为实数),如果这三条边能 求集合A={a,b,c,d,e,f}(含A本身)所有非空子集的c语言程序 写出矩阵a矩阵b的乘积是矩阵c的c语言程序过程 编辑C语言程序,使a,b,c三个数按从小到大的顺序输出 c语言循环语句的书写顺序求1到5的积,程序如下#include main() { int a,b; a=1; b=2; while(b c语言循环书写顺序求1到5的积,程序如下#include main() { int a,b; a=1; b=2; {while(b 求写一个C语言程序 求一元二次方程ax2+bx+c=0的跟.题目是C语言求一元二次方程ax2+bx+c=0的跟.当a=0,b=0时方程无解;当a=0时,b≠0是方程只有一个实根-c/b;当a≠0时,方程的跟,其中当b^2-4ac≥0时,有两 vc6.0求a,b,c三个数字中最大值的程序怎么做 判断两个数a,b是否为互质数的程序,用C语言编写?程序简短,效率较高.