题目描述
给定 a,b,c ,求满足方程 ax+by⩽c 的非负整数解个数。
输入格式
输入三个整数 a,,b,,c 。
输出格式
输出一个整数表示答案。
类欧几里得算法
#include<cstdio>
#define int long long
inline int f(int a,int b,int c,int n){
if(!a)return b/c*(n+1);
if(a>=c||b>=c) return n*(n+1)/2*(a/c)+(n+1)*(b/c)+f(a%c,b%c,c,n);
else {int m=(a*n+b)/c; return m*n-f(c,c-b-1,a,m-1);}
}
signed main(){
int a,b,c;
scanf("%lld%lld%lld",&a,&b,&c);
printf("%lld
",f(a,c%a,b,c/a)+c/a+1);
}