测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A46321. 不定方程求解给定正整数a,b,c。求不定方程 ax+by=c 关于未知数x和y的所有非负整数解组数。输入一行,包含三个正整数a,b,c,两个整数之间用单个空格隔开。每个数均不大于1000。输出一个整数,即不定方程的非负整数解组数。输入样例2 3 18输出样例4

填空题 中等

题目描述

不定方程求解

给定正整数a,b,c。求不定方程 ax+by=c 关于未知数x和y的所有非负整数解组数。

输入

一行,包含三个正整数a,b,c,两个整数之间用单个空格隔开。每个数均不大于1000。

输出

一个整数,即不定方程的非负整数解组数。

输入样例

2 3 18

输出样例

4

参考答案

#include<iostream> using namespace std; int main(){ int a,b,c,x,y,s=0;//设一个a,b,c,x,y,和一个最开始为0的s. cin>>a>>b>>c; for(x=0;x<=c/a;x++){//循环x=0,x小于等于c÷a,然后x不停的加。 y=(c-a*x)/b; if(a*x+b*y==c)s++;//如果a×x+b×y=C,S不停的加。 } cout<<s; return 0; }
上一题 下一题