| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2146 人关注过本帖, 1 人收藏
标题:请教大神,怎么编个程序解决这个数学问题呢?
只看楼主 加入收藏
sunzmud
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-6-27
收藏
得分:0 
利害!
2017-06-27 22:23
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 11楼 sunzmud
8楼代码已经改正~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-28 00:01
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:5 
8楼代码有点类似上回的排列组合试探法。
2017-06-28 08:41
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:5 
以下是引用九转星河在2017-6-27 21:48:07的发言:

不过没有考虑负数~不知道如果考虑负数会不会有解~

为什么你们热烈回复的帖子,我大多没看不懂呀?
就比如这道题,“求解:198 * ?+ 174 * ? + 1254 * ? = 8516”,什么意思我都不懂。
题主没说三个?可以取不同的值,那自然应该认为三个?是同一个值;
题主没说?的取值范围,那自然应该认为?应当是一个实数,若实数域上无解,应该自然认为是一个复数。
那么这道题很简单的
198 * ?+ 174 * ? + 1254 * ? = 8516
(198 + 174 + 1254) * ? = 8516
? = 8516/(198 + 174 + 1254) = 5.23739……


“不知道如果考虑负数会不会有解~”
------ 整数域上无解,左边求最大公约数,右边质因数分解得
6*( 33*? + 29*? + 209*? ) = 2*2*2129
所以整数域上无解

收到的鲜花
  • 九转星河2017-06-28 09:24 送鲜花  10朵   附言:厉害!已经理解了~
2017-06-28 09:16
love04520
Rank: 1
等 级:新手上路
帖 子:16
专家分:5
注 册:2017-6-25
收藏
得分:5 
再暴力点——穷举
#include<stdio.h>
main( )
{
int i,j,k,s;
i=0;
j=0;
k=0;
s=8514;
for(i=0;i*198<=s;i++)
  for(j=0;j*174<=s;j++)
   for(k=0;k*1254<=s;k++)
    if(i*198+j*174+k*1254==s)
     printf("%d %d %d\n",i,j,k);
     getch(  );
}

8516没有整数解。
2017-06-28 09:44
快速回复:请教大神,怎么编个程序解决这个数学问题呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017344 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved