0 0

求一个算法!!25

20000块钱  69个人分  求几天  每个人分多少钱     必须是整数!!

问题补充:就是   几天来分 这个钱 每个人每天分多少钱    69个人平均分20000块

问题补充:
binfentianshi 写道
求几天?什么意思?

就是  几天 来分  69个人每个人分多少钱  


有20000块钱   69个人


几天 分  每个人分多少钱   必须是整数

问题补充:
binfentianshi 写道
我急切要求楼主能够把这个问题解释一下!愿意到底是什么?

我看你的意思是说,无论多少天,最后69个人平均非配2000,而且又是整数,这是不可能的!


天数, 和每个人分的钱数, 必须是整数, 也就是有两个变量(天数,钱数, 但必须都是整数),
定好的是两个一个是 69个人, 一个是2000块钱,

A+B=69
20000=NA+NB

N=整数

就是 这个意思   N 为两个值 但是必须是整数

问题补充:
liufeng063x 写道
不知道你这个题目是哪里的,只能告诉你这是一个二元一次方程,而且按照那两个条件的话是无解的。方程:69xy=20000;x为每天分的钱数,y为天数。
程序:
int m = 20000;
int p = 69;
for (int x = 1; x < m / p; x++) {
	for (int y = 1; y < m / p; y++) {
		if (m - p * x * y < 100 && m - p * x * y > 0) {
			System.out.println(x+"天, 每人平均分了"+y+", 总共分了"+p * x * y+" 还剩" + (m - p * x * y));
		}
	}
}

结果:17天, 每人平均分了17, 总共分了19941 还剩59



我口算, 都知道剩 59,,
2010年12月07日 11:27

30个答案 按时间排序 按投票排序

0 0

采纳的答案

public class SuanFa {

	public static void main(String[] args) {
		//m为钱的总数
		int m = 20000;
		//p为参与分钱的总人数
		int p = 69;
		//per为每人每天可以分到的钱数
		int per;
		//s为返回的天数
		int s;
		//z为已经分掉的钱数
		int z=0;
		//last最终剩余钱数
		int last1 = m/p;//一天将钱分完每人可以分多少其实一天将钱分完是最优解决方案之一
		//last最终剩余钱数
		int last = m-last1*p;
		System.out.println("........."+last+"。。。。");
		//自由变量
		int i= 0;
		for (per =1;per < last1; per++) {
	 	s=m/(per*p);
	 	int last2 = m-s*per*p;
	 	int last3 = m-(s+1)*per*p;
	 	//-10为如果超出钱数为最小时
	 	if(last2==last||last3==-10){
	 		i++;
	 		System.out.println("第"+i+"种解决方案");
	 	int pers = (m-(s-1)*per*p)/p;
	 	System.out.println("最终剩余钱数:"+(m-((s-1)*per*p+pers*p)));
	 	System.out.println("总钱数为:"+m);
	 	System.out.println("参与分钱的人数为:"+p);
	 	System.out.println("每人每天可以分到的钱数:"+per);
	 	System.out.println("第"+s+"天每人能拿到的钱数为:"+pers);
	 	System.out.println("分钱所用的总天数:"+s);
	 	}
	
	}	
		System.out.println("共"+i+"种解决方案");
	}
}
//如果钱不能被人数整除分多少天也不会把钱平分成整数。
//但是算法还是有的就是使最后钱有剩余尽量使剩余达到最小。
//分钱每天能拿到per元的只有s-2天最后一天大家只能拿到pers元。
//你还有什么不懂得还可以在和我说。

2010年12月08日 10:49
0 0

这道题中是不能出现“平均”这个次的,以为根本就无法平均的!

2010年12月19日 20:08
0 0

1.dddd
2.aaa
3.dsss

2010年12月17日 20:11
0 0

不知道你这个题目是哪里的,只能告诉你这是一个二元一次方程,而且按照那两个条件的话是无解的。方程:69xy=20000;x为每天分的钱数,y为天数。
程序:

int m = 20000;
int p = 69;
for (int x = 1; x < m / p; x++) {
	for (int y = 1; y < m / p; y++) {
		if (m - p * x * y < 100 && m - p * x * y > 0) {
			System.out.println(x+"天, 每人平均分了"+y+", 总共分了"+p * x * y+" 还剩" + (m - p * x * y));
		}
	}
}

结果:17天, 每人平均分了17, 总共分了19941 还剩59

2010年12月17日 16:30
0 0

int a = 0;

2010年12月16日 10:36
0 0

引用
什么
意思

<?php
echo 'hi';
?>

<p class="abc">学习一下</p>

2010年12月15日 09:45
0 0

   可能

2010年12月14日 13:05
0 0

 

2010年12月14日 11:15
0 0

2010年12月13日 18:39
0 0

兰州烧饼?

2010年12月13日 14:26
0 0

真不知道什么意思

2010年12月13日 14:04
0 0

换成美元分

2010年12月12日 12:53
0 0

利用随机数来分

2010年12月11日 18:01
0 0

换成港币,就可以整除了

2010年12月09日 20:45
0 0

什么依稀啊

2010年12月09日 19:52
0 0

lz根本就没有描述清除这个问题,没法解,如果要天数和每天多少钱均为整数,那就没解。lz自己想吧....

2010年12月08日 18:17
0 0

还有一个问题,那就是不管怎样做,应该考虑这个问题,那就是1.1天也是两天,1.2天也是两天,如果用钱数/人数/天数,这个天数应该是一天内的任何时刻。

2010年12月08日 14:51
0 0

我急切要求楼主能够把这个问题解释一下!愿意到底是什么?

我看你的意思是说,无论多少天,最后69个人平均非配2000,而且又是整数,这是不可能的!

2010年12月08日 12:33
0 0

这个问题很简单...算法就是...

引用

public class SuanFa {

public static void main(String[] args) {
//m为钱的总数
int m = 20000;
//p为参与分钱的总人数
int p = 69;
//per为每人每天可以分到的钱数
int per;
//s为返回的天数
int s;
//z为已经分掉的钱数
int z=0;
//last最终剩余钱数
int last1 = m/p;//一天将钱分完每人可以分多少其实一天将钱分完是最优解决方案之一
//last最终剩余钱数
int last = m-last1*p;
System.out.println("........."+last+"。。。。");
//自由变量
int i= 0;
for (per =1;per < last1; per++) {
s=m/(per*p);
int last2 = m-s*per*p;
int last3 = m-(s+1)*per*p;
//-10为如果超出钱数为最小时
if(last2==last||last3==-10){
i++;
System.out.println("第"+i+"种解决方案");
int pers = (m-(s-1)*per*p)/p;
System.out.println("最终剩余钱数:"+(m-((s-1)*per*p+pers*p)));
System.out.println("总钱数为:"+m);
System.out.println("参与分钱的人数为:"+p);
System.out.println("每人每天可以分到的钱数:"+per);
System.out.println("第"+s+"天每人能拿到的钱数为:"+pers);
System.out.println("分钱所用的总天数:"+s);
}

}
System.out.println("共"+i+"种解决方案");
}
}
//如果钱不能被人数整除分多少天也不会把钱平分成整数。
//但是算法还是有的就是使最后钱有剩余尽量使剩余达到最小。
//分钱每天能拿到per元的只有s-2天最后一天大家只能拿到pers元。
//你还有什么不懂得还可以在和我说。

2010年12月08日 10:48
0 0

如果每天都是69个人去分的话,这肯定无解。
每天分钱的人数应该不是一样多吧!

2010年12月08日 10:28
0 0

目标是什么?把钱分完?不差钱?

2010年12月08日 09:31
0 0

到最后每个分分的钱肯定不是一样的啊

2010年12月07日 19:34
0 0

死局,算不出来

2010年12月07日 18:28
0 0

天数  跟 钱数 都是变量  弄两个循环去循环判断吧 机器肯定给你算出来

2010年12月07日 16:09
0 0

那每人每天分的钱数是不是要求是平均的呀。。

2010年12月07日 15:37
0 0

楼主的意思是说每个人每天分多少钱,到钱分完之后每个人拿的钱总数是整数是吧?以天为单位算的,天肯定是整数!

2010年12月07日 15:24
0 0

人和天数也必须是整数吧 20000的因数中没有69 这不可能实现

2010年12月07日 14:23
0 0

20000整除不了69 死套的程序如下

final int s=20000,p=69;
int m=s/p;
int a,d;
int i=1;
for(;;){
a=i++;
if(m%a!=0)continue;
d=m/a;
System.out.println(a+"*"+d);
if(i>=m)break;
}

2010年12月07日 14:21
0 0

不是很明白楼主的意思唉,楼主你能说的再明白点不?

2010年12月07日 13:12
0 0

求几天?什么意思?

2010年12月07日 12:17

相关推荐

    求N!的高精度算法!!!

    一个简单而有效的高精度算法思想是将大整数分割成若干个可以处理的小整数段,然后对这些小段分别进行运算。小整数段可以使用特定的数据类型,比如在很多算法中,使用的是一个名为“Comp”的类型,它能够表示大约19到...

    hello算法!!!!!!!!

    8. **图算法**:如Dijkstra算法求最短路径,Floyd-Warshall算法求所有顶点之间的最短路径,Prim和Kruskal算法构造最小生成树。 9. **数据结构**:算法往往与特定的数据结构相结合,如链表、队列、栈、树、图、哈希...

    求200以内的所有素数的简单算法!

    求200以内的所有素数的简单算法!很实用的求素数算法!

    求最近点对的算法(源代码)

    求最近点对的算法!!求最近点对的算法!!求最近点对的算法!!求最近点对的算法!!

    线性时间选择算法(附完整的代码,结合例题详细解析) 全套资源已打包好,求抱走!!!

    题目给定了一个包含n个元素的一维线性序列a[0:14]={2,9,11,3,14,7,10,8,15,4,13,1,6,5,12},想要我们求第k小的元素。 注意看,a[0:14]是一个未排序好的数组!那么想要求第k小的元素,我们第一步要干啥?然后呢?...

    试设计一个算法,求图中一个源点到其他各顶点的最短路径

    在本文中,我们将设计一个算法来求图中一个源点到其他各顶点的最短路径。该算法使用邻接表表示图,并按照长度非递减次序打印输出最短路径的长度及相应路径。 知识点1:图论基本概念 在图论中,图是一种非线性数据...

    求根music算法.zip_DOA估计_music_求根MUSIC方法_求根music算法

    MUSIC算法首先对观测数据进行谱分析,然后构建噪声子空间,最后通过优化一个称为“音乐谱”的函数来找到DOA估计。 求根MUSIC算法则是对传统MUSIC算法的一种改进。在标准MUSIC算法中,估计DOA是通过对噪声子空间的...

    利用高精度算法求N!

    高精度算法的基本思想是用数组的每个元素来存储一个数字位。例如,如果我们要表示数字12345,我们可以用一个包含五个元素的数组[1, 2, 3, 4, 5]来表示它。在进行乘法操作时,我们将两个高精度数字按位相乘,并将结果...

    二分搜索算法、快速排序,算法分析与设计(完整的代码,结合例题详细解析) 全套资源,求抱走!!!

    随机化快速排序的实现会在原有的快速排序代码基础上修改基准的选择,用随机数生成器选择数组内的一个随机位置作为基准,从而避免最坏情况的发生,确保算法的平均时间复杂度接近于O(nlogn)。 通过这次实验,我们可以...

    硬货单片机常用的14个C语言算法附详细代码 硬件工程师电路分析物联网模电单片机嵌入式技术.doc

    哥德巴赫猜想是一种数学猜想,即任意一个大于等于 6 的偶数都可以分解为两个素数之和。基本思想是从 n1=3 开始,检验 n1 和 n2 是否为素数,如都是,则为一组解。例如,用以下代码实现: #include "math.h" int ...

    graham求凸包算法

    graham求凸包算法 graham求凸包算法 graham求凸包算法 graham求凸包算法 graham求凸包算法 graham求凸包算法

    一个求first的算法

    一个关于求first集合的算法, 从文法文件中读入终结符、非终结符、开始符、文法,输出FIRSTVT集,LASTVT集和算符优先矩阵

    程序的灵魂——算法求5!

    1. **有穷性**:一个算法必须在有限的步骤内完成,即它不能无休止地运行。在给定的例子中,两个程序都通过循环结构确保了这一点。例如,在求5!的程序中,`while(i)`循环会在i超过5时停止,而在求和程序中,`while...

    遗传算法GA求函数最小值

    在“计算智能函数最小值”这个案例中,我们可以设定一个目标函数,如二次函数、指数函数或复杂数学函数,然后使用遗传算法来找到该函数的最小值。通过调整种群规模、交叉概率、变异概率等参数,观察算法在不同设置下...

    Prim算法与Kruskal算法求最小生成树

    Prim算法是一种贪心策略,它从一个起始顶点开始,逐步添加边,每次添加一条与已选择顶点集形成最小权重边的新边。这个过程不断进行,直到所有的顶点都被包含在内,形成一棵树。算法的关键在于维护一个优先队列(如...

    算法实习:分治算法求n个数的数组中找出第二个最大元素

    分治(Divide and Conquer)是一种重要的算法设计策略,它通过递归地将一个问题分解成两个或更多的相同或相似的子问题,直到最后子问题可以简单地直接求解,原问题的解即为子问题的解的合并。分治法通常包含三个步骤...

    Dijkstra算法求最短路径算法 C++ 经典例题

    Dijkstra算法是图论中的一个经典算法,由荷兰计算机科学家艾兹格·迪科斯彻在1956年提出,主要用于寻找有向图或无向图中从起点到目标点的最短路径。这个算法的基本思想是使用贪心策略,每次选择当前未访问节点中距离...

    SMI_矩阵求逆算法_

    矩阵求逆在数学上是指找到一个矩阵,当它与原矩阵相乘时,结果为单位矩阵。在信号处理中,矩阵通常代表阵列的传输或接收特性,而矩阵的逆则用于计算能够将信号能量集中到特定方向(即形成波束)的权值向量。这个过程...

    算法合集之《求N!的高精度算法》.ppt

    在Pascal中,Comp类型虽然被归类为实数类型,但它实际上可以作为一个64位的整数,用于高精度运算。每个小整数段的长度选择会影响算法的效率。例如,在求和时,如果每个段保留17位,可以处理两个高精度数的和;在乘法...

Global site tag (gtag.js) - Google Analytics