本文主要是介绍fzu 2102 Solve equation(水题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目连接:fzu 2102 Solve equation
题目大意:给出数a,b和进制bas,a和b都是bas进制的数,现在要计算十进制数k和d ,使得a = k * b + d。
解题思路:将a和b转换成十进制数,然后k = a / b, d =a - (a/b) * b.
#include <stdio.h>
#include <string.h>const int N = 100;int bas, n, m;int changeBase(char num[], int b) {int len = strlen(num);int ans = 0, k;for (int i = 0; i < len; i++) {if (num[i] >= '0' && num[i] <= '9') k = num[i] - '0';else k = num[i] - 'a' + 10;ans = ans * b + k;}return ans;
}int main () {int cas;char a[N], b[N];scanf("%d", &cas);while (cas--) {scanf("%s%s%d", a, b, &bas);n = changeBase(a, bas);m = changeBase(b, bas);int ans = n / m;printf("(%d,%d)\n", ans, n - ans * m);}return 0;
}
这篇关于fzu 2102 Solve equation(水题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!