忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 2837 | 回复: 9

[C] N元一次不定方程正整数解的求法 [复制链接]

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-11-27 06:20:00程序设计版块每日发帖之星
日期:2015-12-01 06:20:00每日论坛发贴之星
日期:2015-12-01 06:20:0015-16赛季CBA联赛之佛山
日期:2017-03-26 23:38:0315-16赛季CBA联赛之江苏
日期:2017-07-17 10:08:4415-16赛季CBA联赛之北京
日期:2018-03-04 17:01:50
发表于 2018-01-25 20:03 |显示全部楼层
本帖最后由 dorodaloo 于 2018-01-25 20:14 编辑

N元一次不定方程正整数解的求法

test =
198a+180b+175c=11550
512a+345b+124c+56d=23456
1999a+1299b+1499c+2799d+2499e+3299f=2328450

a, b, c ...  >= 0

运行示例
func 198a+180b+175c=11550
输出

0 0 66
0 35 30
5 12 48
5 47 12
10 24 30
15 1 48
15 36 12
20 13 30
25 25 12
30 2 30
35 14 12
45 3 12
count = 12


  1. int main(void){
  2. /* 代码可以省略解析字符串  "1999a+1299b+1499c+2799d+2499e+3299f=2328450"
  3. 过程 */
  4.     unsigned coe[] = {1999, 1299, 1499, 2799, 2499, 3299};
  5.     unsigned sum = 2328450;  // sum 正整数

  6.     不知道用C语言 func 怎么写?
  7. }

复制代码


论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16赛季CBA联赛之浙江
日期:2016-11-05 14:38:4115-16赛季CBA联赛之新疆
日期:2016-11-11 18:38:06
发表于 2018-01-25 20:52 |显示全部楼层
每个参量的尝试下界为0,和除以相应系数可以得到上界数值

然后,循环吧。。。

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-11-27 06:20:00程序设计版块每日发帖之星
日期:2015-12-01 06:20:00每日论坛发贴之星
日期:2015-12-01 06:20:0015-16赛季CBA联赛之佛山
日期:2017-03-26 23:38:0315-16赛季CBA联赛之江苏
日期:2017-07-17 10:08:4415-16赛季CBA联赛之北京
日期:2018-03-04 17:01:50
发表于 2018-01-26 17:30 |显示全部楼层
回复 2# 爻易

非常感谢, 不知道怎么写?

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16赛季CBA联赛之浙江
日期:2016-11-05 14:38:4115-16赛季CBA联赛之新疆
日期:2016-11-11 18:38:06
发表于 2018-01-27 10:31 |显示全部楼层
回复 3# dorodaloo

必须知道啊!否则那些解是如何输出来滴

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-11-27 06:20:00程序设计版块每日发帖之星
日期:2015-12-01 06:20:00每日论坛发贴之星
日期:2015-12-01 06:20:0015-16赛季CBA联赛之佛山
日期:2017-03-26 23:38:0315-16赛季CBA联赛之江苏
日期:2017-07-17 10:08:4415-16赛季CBA联赛之北京
日期:2018-03-04 17:01:50
发表于 2018-01-27 19:42 |显示全部楼层
回复 4# 爻易

那些解是
是题目的一部分啊!

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16赛季CBA联赛之浙江
日期:2016-11-05 14:38:4115-16赛季CBA联赛之新疆
日期:2016-11-11 18:38:06
发表于 2018-01-27 20:03 |显示全部楼层
回复 5# dorodaloo

那题目是相当的坑啊。演示的解只有12个,要求的解却是成吨

先给前50个解:
0 0 0 1 594 255
0 0 0 2 181 567
0 0 0 9 589 252
0 0 0 10 176 564
0 0 0 17 584 249
0 0 0 18 171 561
0 0 0 25 579 246
0 0 0 26 166 558
0 0 0 33 574 243
0 0 0 34 161 555
0 0 0 41 569 240
0 0 0 42 156 552
0 0 0 49 564 237
0 0 0 50 151 549
0 0 0 57 559 234
0 0 0 58 146 546
0 0 0 65 554 231
0 0 0 66 141 543
0 0 0 73 549 228
0 0 0 74 136 540
0 0 0 81 544 225
0 0 0 82 131 537
0 0 0 89 539 222
0 0 0 90 126 534
0 0 0 97 534 219
0 0 0 98 121 531
0 0 0 105 529 216
0 0 0 106 116 528
0 0 0 113 524 213
0 0 0 114 111 525
0 0 0 121 519 210
0 0 0 122 106 522
0 0 0 129 514 207
0 0 0 130 101 519
0 0 0 137 509 204
0 0 0 138 96 516
0 0 0 145 504 201
0 0 0 146 91 513
0 0 0 153 499 198
0 0 0 154 86 510
0 0 0 161 494 195
0 0 0 162 81 507
0 0 0 169 489 192
0 0 0 170 76 504
0 0 0 177 484 189
0 0 0 178 71 501
0 0 0 185 479 186
0 0 0 186 66 498
0 0 0 193 474 183
0 0 0 194 61 495
。。。

输出文本达到十几兆时果断掐灭

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-11-27 06:20:00程序设计版块每日发帖之星
日期:2015-12-01 06:20:00每日论坛发贴之星
日期:2015-12-01 06:20:0015-16赛季CBA联赛之佛山
日期:2017-03-26 23:38:0315-16赛季CBA联赛之江苏
日期:2017-07-17 10:08:4415-16赛季CBA联赛之北京
日期:2018-03-04 17:01:50
发表于 2018-01-29 21:27 |显示全部楼层
回复 6# 爻易

非常感谢

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16赛季CBA联赛之浙江
日期:2016-11-05 14:38:4115-16赛季CBA联赛之新疆
日期:2016-11-11 18:38:06
发表于 2018-02-03 16:37 |显示全部楼层
回复 7# dorodaloo

今天好运气,没掉坑里去,没掉坑里~去

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-11-27 06:20:00程序设计版块每日发帖之星
日期:2015-12-01 06:20:00每日论坛发贴之星
日期:2015-12-01 06:20:0015-16赛季CBA联赛之佛山
日期:2017-03-26 23:38:0315-16赛季CBA联赛之江苏
日期:2017-07-17 10:08:4415-16赛季CBA联赛之北京
日期:2018-03-04 17:01:50
发表于 2018-02-13 17:19 |显示全部楼层
回复 8# 爻易

大神,代码已经写好.效率也创了新高.只是不知如何free
http://bbs.chinaunix.net/thread-4292613-1-1.html
大佬帮忙看下

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16赛季CBA联赛之浙江
日期:2016-11-05 14:38:4115-16赛季CBA联赛之新疆
日期:2016-11-11 18:38:06
发表于 2018-02-14 09:51 |显示全部楼层
回复 9# dorodaloo

效率也创了新高?那先填了这个6元方程的坑吧。。。

磨刀霍霍向对象,壳语言我们一定要实现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP