c语言砝码问题,C语言砝码称重问题
满意答案
这个题目粗看上去似乎不难,但是真写似乎有点难度,代码贴上,#include
#include
#include
#include
/*a数组用于存储从n个整型数
* 据中取k个数字的数组下标值
* */
int a[100]={0};
/*data数组用于存储实际的数据,也就是所有砝码的
* 重量
* */
int data[4]={2,2,3,3};
/*sum数组用于保存再data中取k个树的和,注意
* 没有唯一化处理,也就是说可能里面存在重复
* 唯一化处理使用函数unique;
* */
int sum[100] = {0};
/*index_sum用于记录sum中最后一个数据的索引值
* */
int index_sum = 0;
/*这是一个递归实现,用于获取从[start,length-num]的
* 某一位数,这个位数对应了data数组的下标,num是从
* data中取几位数的,fujia是一个附加参数,用于记录当
* 前获取了几位树,从而方便操作数组a
* */
void GetNumberNew(int start, int length, int num, int fujia);
/*统计长度为length的sum数组中不重复元素的个数
* */
int unique(int[], int length);
int main()
{
//data数组长度
int length = 4;
for(int y = 1; y <= length; y++)
{
/*从[0,num]中获取y个数*/
GetNumberNew(0, length, y, y);
}
printf("%d",unique(sum, index_sum));
return 0;
}
void GetNumberNew(int start, int length, int num, int fujia)
{
for(int i = start; i <= length - num; i++)
{
if (num > 0)
{
a[num - 1] = i;
/*从[i+1,length]中获取num-1数
* */
GetNumberNew(i +1, length, num-1, fujia);
}
else
{
for(int x = 0; x
{
sum[index_sum] += data[a[x]];
}
index_sum++;
return;
}
}
}
int unique(int sum[], int length)
{
int temp = index_sum;
// printf("temp:%d ",temp);
for(int i = 0 ; i
{
for(int j = i + 1; j
{
if(sum[i] == sum[j])
{
/*若有相同的数字则减1,并退出此次循环*/
temp--;
break;
}
}
}
return temp;
}
01分享举报
c语言砝码问题,C语言砝码称重问题相关推荐
- p1633[进制应用]砝码称重
描述 Description 一个天平,砝码分别为1g.3g.9g.27g.-6561g,每个砝码只有一个,要称重的物品放在天平的左侧,而砝码允许放在天平的左右两侧.已知一个物品的重量,问如何称重? ...
- ZCMU--5239: 砝码称重(C语言)
Description 现有n个砝码,第i个砝码的重量为ai,你至多能选择三个砝码进行称重,请问对于1-w中的所有整数,有多少数字能被这n个砝码称出来? Input 单组测试数据,第一行输入两个正整数 ...
- Bailian4141 砝码称重【DP】
4141:砝码称重 总时间限制: 1000ms 内存限制: 65536kB 描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000),要求:计算用这些砝码能称出的不同 ...
- 第十二届蓝桥杯省赛 C/C++大学B组 试题G:砝码称重
试题题目: 本题为编程题第二题 解题思路: 方法一:暴力求解 1.分析 首先利用数组W[N]W[N]W[N]记录NNN块砝码的质量. 模拟放取过程.先取第一块砝码放在天平上,再取第二块砝码 ...
- 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-936 砝码称重
第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-936 砝码称重 目录 第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-936 砝码称重 前言 关于数学的疑问 算法训练 砝码称重 ...
- 智力题:砝码称重问题
第一题 假设有280g食盐,有一架天平,有两个砝码,分别是14g,4g.请问能否在3次内将280g食盐分为100g和180g两堆,请详细描述你的解决方法 解法一: 第一次:平分280g的食盐:140g ...
- 洛谷 P2347 砝码称重
P2347 砝码称重 题目描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000), 输入输出格式 输入格式: 输入方式:a1 a2 a3 a4 a5 a6 (表示1 ...
- 【DP】砝码称重 (ssl 1072)
砝码称重 ssl 1072 题目大意: 有6种砝码,每种的个数分别为a1,a2,a3,a4,a5,a6,请问可以平出多少种重量(0除外) Description 设有1g.2g.3g.5g.10g.2 ...
- 【u204】高级砝码称重
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 现有n个砝码,重量分别为a1,a2,a3,--,an,在去掉m个砝码后,问最多能称量出多少不同的重量( ...
- 【OJ8756】砝码称重V2,可达性多重背包
砝码称重V2 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=100,000),要求:计 ...
最新文章
- 2020年史上最全PyTorch资源合集,Github 标星1w+
- 老李推荐:第6章1节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览 1...
- underscore.js源码解析2
- 汉仪尚巍手书_汉仪尚巍手书免费版
- 用与非门设计血型配对电路_电路板中与非门集成电路的控制原理
- linux alsa 音频管理,在Linux上的高级音频控制
- Vrep当中的一些好用的工具(未完)
- 传递情感贺卡海报,你知道怎么设计么?让设计更简单,从临摹PSD模板开始
- 拼接字符串时的引号嵌套
- 201521460005 实验五
- 清华计算机专业培养,清华大学计算机本科生培养方案..pdf
- *printf()格式化串安全漏洞分析(上)
- 数学建模各种软件对比(MATLAB/Lingo/SAS/SPSS)
- 面向对象的程序设计-地铁路线计算程序的设计、优化与测试
- 计算机科学与技术的职业资格,软件水平考试是专业技术资格还是职业资格
- 短时间提高英语口语方法
- 韩国28岁自由职业者生活曝光,引40万人围观:自律的人生,到底有多爽?
- 月播放量增长2300倍,品牌如何在B站迅速打造爆品?
- 1.两数之和(python)
- 双十一大促直通车引流,低客单价的产品怎样引流 低客单价怎样开直通车