给定正整数a,b,c。求不定方程 ax+by=c 关于未知数x和y的所有非负整数解组数。 注:题目来自信息学奥赛一本通 输入格式: 只有一行,为三个用空格分隔的正整数,依次代表a,b,c。每个数均不大于1000。测试用例保证合法。 输出格式: 只有一个整数,即不定方程的非负整数解组数。 c语言


```c #include <stdio.h> // 扩展欧几里得算法 int extendedEuclidean(int a, int b, int *x, int *y) { if (b == 0) { *x = 1; *y = 0; return a; } int x1, y1; int gcd = extendedEuclidean(b, a % b, &x1, &y1); *x = y1; *y = x1 - (a / b) * y1; return gcd; } int countNonNegativeSolutions(int a, int b, int c) { int x, y; int gcd = extendedEuclidean(a, b, &x, &y); if (c % gcd!= 0) { return 0; } x *= c / gcd; y *= c / gcd; int newA = a / gcd; int newB = b / gcd; int count = 0; for (int k = 0; x + k * newB >= 0; k--) { if ((x + k * newB) >= 0 && (c - a * (x + k * newB)) % b == 0 && (c - a * (x + k * newB)) / b >= 0) { count++; } } for (int k = 1; x - k * newB <= c / a; k++) { if ((x - k * newB) >= 0 && (c - a * (x - k * newB)) % b == 0 && (c - a * (x - k * newB)) / b >= 0) { count++; } } return count; } int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); int result = countNonNegativeSolutions(a, b, c); printf("%d\n", result); return 0; } ``` [2024-11-07 11:21:58 | AI写代码神器 | 499点数解答]
- function square_with_curve_gui() % 创建图形界面 fig = figure('position', [100, 100, 800, 600], 'menubar', 'none', 'name', '正方形与闭合曲线识别', 'resize', 'off'); ax = axes('position', [0.1, 0.2, 0.8, 0.7]); xlim(ax, [-0.01, 0.01]); ylim(ax, [-0.01, 0.01]); axis(ax, 'equal'); grid(ax, 'on'); hold(ax, 'on'); draw_square(ax); plot(ax, 0, 0, 'ko', 'markerfacecolor', 'k', 'markersize', 6); uicontrol('style', 'pushbutton', 'string', '提交图片', 'position', [50, 550, 100, 30],(193点数解答 | 2024-11-13 19:58:57)121
- function square_with_curve_gui() % 创建图形界面 fig = figure('position', [100, 100, 800, 600], 'menubar', 'none', 'name', '正方形与闭合曲线识别', 'resize', 'off'); ax = axes('position', [0.1, 0.2, 0.8, 0.7]); xlim(ax, [-0.01, 0.01]); ylim(ax, [-0.01, 0.01]); axis(ax, 'equal'); grid(ax, 'on'); hold(ax, 'on'); draw_square(ax); plot(ax, 0, 0, 'ko', 'markerfacecolor', 'k', 'markersize', 6); uicontrol('style', 'pushbutton', 'string', '提交图片', 'position', [50, 550, 100, 30],(366点数解答 | 2024-11-13 19:59:10)144
- 题目(description): 卫星导航系统(如我国自主研发的北斗卫星导航系统)能实时获取位置、速度、时间等时空信息,在交通运输、农林渔业、气象测报、通信授时、救灾减灾、公共安全等领域都得到了广泛应用。 在应用层面,卫星导航系统一般以报文方式进行数据传输,其中$gprmc是常用报文之一,基本的格式如下: $gprmc,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh <1> utc时间,hhmmss.sss(时分秒.毫秒)格式 <2> 定位状态,a=有效定位,v=无效定位 <3> 纬度ddmm.mmmm(度分)格式 <4> 纬度半球n(北半球)或s(南半球) <5> 经度dddmm.mmmm(度分)格式 <6> 经度半球e(东经)或w(西经) <7> 地面速率(000.0~999.9节) <8> 地面航向(000.0~359.9度,以正北为参考基准) <9> utc日期,ddmmyy(日月年)格式 <10> 磁偏角(000.0~180.0度,前面的0也(385点数解答 | 2025-01-08 03:43:54)262
- 题目(description): 卫星导航系统(如我国自主研发的北斗卫星导航系统)能实时获取位置、速度、时间等时空信息,在交通运输、农林渔业、气象测报、通信授时、救灾减灾、公共安全等领域都得到了广泛应用。 在应用层面,卫星导航系统一般以报文方式进行数据传输,其中$gprmc是常用报文之一,基本的格式如下: $gprmc,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh <1> utc时间,hhmmss.sss(时分秒.毫秒)格式 <2> 定位状态,a=有效定位,v=无效定位 <3> 纬度ddmm.mmmm(度分)格式 <4> 纬度半球n(北半球)或s(南半球) <5> 经度dddmm.mmmm(度分)格式 <6> 经度半球e(东经)或w(西经) <7> 地面速率(000.0~999.9节) <8> 地面航向(000.0~359.9度,以正北为参考基准) <9> utc日期,ddmmyy(日月年)格式 <10> 磁偏角(000.0~180.0度,前面的0也(346点数解答 | 2025-01-08 03:46:29)261
- from typing import list import matplotlib.pyplot as plt # 对象式绘图 # pyplot模块中的figure()函数创建名fig的figure对象 fig=plt(figsize=(12,8)) # 在figure对象中创建一个axes对象,每个axes对象即为一个绘图区域 ax=fig.add_subplot(111) #pandas 生成时间序列 date_index=pd.date_range('2019-01-01',frep='d',periods=10) # 分别模拟生成涨跌时的成交量数据 red_ber =【1000,0,0,0,879,986,213,0,0,0,】 green—bar=[0,200,599,567,0,0,0,234,998,489] # 绘制条形图 ax.bar(date_index,red_ber,facecolor='red') ax.bar(date_index,green_bar,facecolor='green') # 设置轴标题 ax.set_xlabel(u'交易日',fonts(104点数解答 | 2024-11-21 20:57:20)153
- 一个 5×6 的迷宫样例如下: 要求给出从起点(1,1)到终点(3,4)的路径。 为了处理方便,保证最外圈全都为障碍物。 扩展到一般情况,一个 m×n 的迷宫,要求输出从起点(1,1)到终点(m-2,n-2)的路径。 测试实例保证路径是唯一的。 该题要求自行设计一个栈来做。如果设计的是顺序栈,则保证栈的大小不超过 200 个元素。 输入 第一行为两个整数 m 和 n,表示 m×n 的迷宫。 接下来有 m 行,每行有 n 个数(n 个数之间用空格间隔,值 = 0 表示可以通行,值 = 1 表示为障碍物) 输出 输出从起点到终点的路径,每个坐标占一行,坐标间的行号和列号用一个空格间隔。具体格式可参考样例。c++ 源代码(732点数解答 | 2024-11-03 02:34:53)313
- 题目描述 请根据邮件的重量和用户选择是否加急计算邮费。计算规则: 重量在 1000 1000 以内(包括),基本费 8 8 元; 超过 1000 1000 克的部分,每 500 500 克加收超重费 4 4 元,不足 500 500 克部分按 500 500 克计算; 如果用户选择加急,多收 5 5 元。 输入格式 一行,包含一个正整数 x x 和一个字符 c(y 或 n),之间用一个空格隔开,分别表示重量和是否加急。 如果字符是 y,说明选择加急;如果字符是 n,说明不加急。 输出格式 输出一行一个正整数,表示邮费。 输入输出样例 输入 #1复制 1200 y 输出 #1复制 17 说明/提示 对于100%数据 1 ≤ x ≤ 1 0 6 1≤x≤10 6 在洛谷, 享受 coding 的欢乐(88点数解答 | 2024-11-09 15:33:30)259
- 题目描述 请根据邮件的重量和用户选择是否加急计算邮费。计算规则: 重量在 1000 1000 以内(包括),基本费 8 8 元; 超过 1000 1000 克的部分,每 500 500 克加收超重费 4 4 元,不足 500 500 克部分按 500 500 克计算; 如果用户选择加急,多收 5 5 元。 输入格式 一行,包含一个正整数 x x 和一个字符 c(y 或 n),之间用一个空格隔开,分别表示重量和是否加急。 如果字符是 y,说明选择加急;如果字符是 n,说明不加急。 输出格式 输出一行一个正整数,表示邮费。 输入输出样例 输入 #1复制 1200 y 输出 #1复制 17 说明/提示 对于100%数据 1 ≤ x ≤ 1 0 6 1≤x≤10 6 在洛谷, 享受 coding 的欢乐(554点数解答 | 2024-11-09 15:34:05)262
- 请根据邮件的重量和用户选择是否加急计算邮费。计算规则: 重量在 1000 1000 以内(包括),基本费 8 8 元; 超过 1000 1000 克的部分,每 500 500 克加收超重费 4 4 元,不足 500 500 克部分按 500 500 克计算; 如果用户选择加急,多收 5 5 元。 输入格式 一行,包含一个正整数 x x 和一个字符 c(y 或 n),之间用一个空格隔开,分别表示重量和是否加急。 如果字符是 y,说明选择加急;如果字符是 n,说明不加急。 输出格式 输出一行一个正整数,表示邮费。 输入输出样例 输入 #1复制 1200 y 输出 #1复制 17 说明/提示 对于100%数据 1 ≤ x ≤ 1 0 6 1≤x≤10 6(244点数解答 | 2024-12-31 19:36:29)185
- c++ 【题目描述】 编程求解:正整数 m 和 n 之间(包括 m 和 n )能被 17 整除的数累加的结果是多少。其中,0<m<n<1000 。 【输入】 一行,包含两个整数 m 和 n ,以一个空格间隔。 【输出】 输出一行,包行一个整数,表示累加的结果。 【输入样例】 50 85 【输出样例】 204(469点数解答 | 2025-03-03 21:41:25)365
- c++描述 小夏同学在思考一个复杂的问题: 输入 m,a,n,请输出 ( i=1 ∑ n a i )modm,即 (a+a 2 +⋯+a n )modm。 说明/提示 对于所有测试数据,保证:1≤m,a≤10 9 ,1≤n≤10 15 。 测试点编号 n a 特殊性质 1−3 ≤10 7 ≤10 9 无 4−6 ≤10 15 ≤2 无 7−10 ≤10 15 ≤10 9 m 为质数 11−20 ≤10 15 ≤10 9 无 输入描述 输入 m,a,n。 输出描述 输出 ( i=1 ∑ n a i )modm。 用例输入 1 1000 2 10 用例输出 1 46 用例输入 2 11451410 1919811 8765423561347 用例输出 2 2213137 用例输入 3 114514 9999 1000 用例输出 3 28840(911点数解答 | 2025-03-29 19:12:07)166
- 给定长度为 n 的序列 a1,a2,⋯,an 。 你需要回答多次询问,每次询问会给出一个数字 k ,请问序列中所有数字或 k 之和减去所有数字与 k 之和是多少,即求 ∑ni=1ai|k−∑ni=1ai&k 。 输入格式 第一行输入一个整数 n 。 第二行输入 n 个整数 a1,a2,⋯,an 。 第三行输入一个整数 q ,表示询问次数。 接下来 q 行,每行输入一个整数 k 。 输出格式 对于每次询问,输出一行一个整数,表示答案。 样例输入 5 1 2 3 4 5 5 1 2 3 4 5 样例输出 14 17 16 19 18 数据范围 对于 30% 的数据,保证 n,q≤1000 。 对于 100% 的数据,保证 1≤n,q≤5×105,1≤ai,k≤109 。 用C++xie(232点数解答 | 2025-01-08 19:10:29)316