社区讨论

c语言75分,请问各位大佬问题出在哪谢谢

B2141确定进制参与者 3已保存回复 10

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
9 条
当前快照
1 份
快照标识符
@mjr220un
此快照首次捕获于
2025/12/29 19:08
2 个月前
此快照最后确认于
2026/01/01 19:55
2 个月前
查看原帖
C
#include <stdio.h>
#include <math.h>

int jdg(long long int base,int a1,int a2,int a3);
void nbc(long long int base,int *b,int a);

int main(void)
{
    int p,q,r;
    long long int base = 2;
    scanf("%d %d %d", &p, &q, &r);
    while( jdg(base,p,q,r) ){
        base++;
        if( base>=p && base>=q && base>=r && base>10){
            base = 0;
            break;
        }
    }
    printf("%d", base);
    return 0;
}

//judgment
int jdg(long long int base,int a1,int a2,int a3)
{
    int ret = 1;
    int b1 = 0,b2 = 0,b3 = 0;
    nbc(base,&b1,a1);
    nbc(base,&b2,a2);
    nbc(base,&b3,a3);
    if(b1*b2==b3){
        ret = 0;
    }
    return ret;
}

//Number Base Conversion
void nbc(long long int base,int *b,int a)
{
    *b = 0;
    int weight = 0;
    while( a>0 ){
        *b += (a%10)*pow(base,weight++);
        a /= 10;
    }
}

回复

10 条回复,欢迎继续交流。

正在加载回复...