社区
数据结构与算法
帖子详情
1-50这50个数字,要求得到 和为100的7个数字(不能重复)的所有可能性
starcbh
2003-12-15 04:06:55
1-50这50个数字,要求得到 和为100的7个数字(不能重复)的所有可能性
我是算法菜鸟,哪位帮一下忙!!
...全文
150
8
打赏
收藏
1-50这50个数字,要求得到 和为100的7个数字(不能重复)的所有可能性
1-50这50个数字,要求得到 和为100的7个数字(不能重复)的所有可能性 我是算法菜鸟,哪位帮一下忙!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
starcbh
2003-12-16
打赏
举报
回复
另开一贴给NowCan(能量、激情、雨水、彩虹——雷雨云) 100分
NowCan
2003-12-15
打赏
举报
回复
/*
1-50这50个数字,要求得到 和为100的7个数字(不能重复)的所有可能性
递归回溯做,增加剪枝函数
从1开始从小到大取这7个数,若取到当前第i个数发现后面就算是取7-i个最大数(这里为50)也不能达到100则返回,否则递归求解下一个数i+1.
*/
#include <stdio.h>
static long a[8]={0},sum,count=0;
void find(long d)
{
for(long i=a[d-1]+1;i<=50;i++)
{
a[d]=i;
sum=0;
for(long j=1;j<=d;j++)
{
sum+=a[j];
}
if(sum==100&&d==7)
{
count++;
//printf("%d+%d+%d+%d+%d+%d+%d=100\n",a[1],a[2],a[3],a[4],a[5],a[6],a[7]);
}
else if((sum+(7-d)*50>=100)&&(sum+(7-d)*1<=100))
{
find(d+1);
}
}
}
int main()
{
find(1);
printf("Total: %ld\n",count);
return 0;
}
为了速度,注释了输出语句。
fengbaoshiyi
2003-12-15
打赏
举报
回复
c[7,50,100]=c[6,49,50]+[7,49,100]
[i,j,k]=[i-1,j-1,k-j]+[i,j-1,k]
[1,j,k]=1 (j==k)
=0 (j!=k)
starcbh
2003-12-15
打赏
举报
回复
能细一点最好,呵呵
starcbh
2003-12-15
打赏
举报
回复
xd,谢了,搞定了给分
SoftWare1999
2003-12-15
打赏
举报
回复
10+11+13+14+16+17+19=100
10+11+13+15+16+17+18=100
10+12+13+14+15+16+20=100
10+12+13+14+15+17+19=100
10+12+13+14+16+17+18=100
11+12+13+14+15+16+19=100
11+12+13+14+15+17+18=100
共:102585种
就用递规,剪枝,飞快。
gushaoping
2003-12-15
打赏
举报
回复
递归回溯做,增加剪枝函数
从1开始从小到大取这7个数,若取到当前第i个数发现后面就算是取7-i个最大数(这里为50)也不能达到100则返回,否则递归求解下一个数i+1.
starcbh
2003-12-15
打赏
举报
回复
自已顶一下
数字
化转型-如何推进实施产业
数字
化转型?
本课程是在前期《
数字
经济概述》、《如何规划
数字
经济新业态新模式新机会》、《智慧工厂
数字
化及典型应用场景》,《如何避免
数字
化转型五大误区》、《为何需要
数字
化转型》、《如何揭开
数字
化转型真相》、《如何开启企业
数字
化转型?》等
数字
化专题课程基础上,从传统企业如何推进快速实施
数字
化转型的措施、步骤、方法为要点出发,重点解答如何依据企业转型目标,企业如何快速实施
数字
化转型规划核心问题。并能够通过
数字
化基础能力提升和赋能,分阶段分层次先易后难、以点带面逐步实现企业
数字
化战略转型,从而减少
数字
化转型项目障碍和阻力。 为了更好的学习本课程并达到良好的效果,建议同时学习《职业生涯规划》、《
数字
化&
数字
经济》、《售前管理》、《项目管理》及智慧城市《数据中台》、《行业方案》和《城市大脑》系列相关专题课程,并请持续关注后续课程,谢谢。
C语言程序生成指定范围的不
重复
的随机数
本程序以输出
50
个范围为1-
50
的不
重复
的随机数为例 代码如下: /* 用C语言程序输出指定范围的不
重复
的随机数 本程序以输出
50
个范围为1-
50
的不
重复
的随机数为例 */ #include <stdio.h> #include <stdlib.h&...
1-9九个
数字
不
重复
组成一个三位数加法算式,求出所有组合
//获得最后剩下的3个
数字
组成的所有三位数 int[] lastNumber = GetAllThreeNumber(c); //如果两数之和等于第三个数就输出 for (int index = 0; index ; index++) { if (add1 + add2 == lastNumber[index]...
Leecode:给定一个包含 n + 1 个整数的数组 nums,其
数字
都在 1 到 n 之间(包括 1 和 n),可知至少存在一个
重复
的整数。假设只有一个
重复
的整数,找出这个
重复
的数
* 给定一个包含 n + 1 个整数的数组 nums,其
数字
都在 1 到 n 之间(包括 1 和 n),可知至少存在一个
重复
的整数。假设只有一个
重复
的整数,找出这个
重复
的数。 * 示例 1: * 输入: [1,3,4,2,2] * 输出: 2 * 示例...
选
数字
(多人博弈)
100
个人,每个人选择一个 1 -
100
范围内的一个
数字
,谁的
数字
最接近平均数的 2/3,谁将获得奖金。如果是你,你会选几?前提是每个人都想赢得奖金。 分析步骤: 1. 每个人都不会选67 -
100
之间的
数字
,因为最大...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章