当前位置:   article > 正文

2301: 不定方程解的个数

2301: 不定方程解的个数
题目描述

输出不定方程解的个数。在数学中,不定方程是数论中的一个重要课题,在各种比赛中也常常出现. 对于不定方程,有时我们往往只求非负整数解,现有方程ax+by+c=0,其中x、y为未知量且不超过10000,当给定a、b、c的值以后,可求出n组x、y的非负整数解,n>=0,,其中a,b,c均为[-10000,10000].

输入描述

一行,三个空格隔开的整数,为a、b、c的值。 

输出描述

一个整数,为合法的解的组数.

输入样例 复制
3 2 -2
输出样例 复制
1
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main() {
  4. int a, b, c;
  5. scanf("%d %d %d", &a, &b, &c);
  6. if(a == 0 && b == 0) {
  7. if(c != 0) {
  8. printf("0\n");
  9. }
  10. return 0;
  11. }
  12. if(a == 0) {
  13. if(c % b == 0 && -c / b >= 0) {
  14. printf("1\n");
  15. } else {
  16. printf("0\n");
  17. }
  18. return 0;
  19. }
  20. if(b == 0) {
  21. if(c % a == 0 && -c / a >= 0) {
  22. printf("1\n");
  23. } else {
  24. printf("0\n");
  25. }
  26. return 0;
  27. }
  28. int count = 0;
  29. for(int x = 0; x <= 10000; x++) {
  30. if((a * x + c) % b == 0) {
  31. int y = (-a * x - c) / b;
  32. if(y >= 0) {
  33. count++;
  34. }
  35. }
  36. }
  37. printf("%d", count);
  38. return 0;
  39. }

输出不定方程解的个数。在数学中,不定方程是数论中的一个重要课题,在各种比赛中也常常出现. 对于不定方程,有时我们往往只求非负整数解,现有方程ax+by+c=0,其中x、y为未知量且不超过10000,当给定a、b、c的值以后,可求出n组x、y的非负整数解,n>=0,,其中a,b,c均为[-10000,10000].一行,三个空格隔开的整数,为a、b、c的值。一个整数,为合法的解的组数.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/87229
推荐阅读
相关标签
  

闽ICP备14008679号