满意答案

这个题目粗看上去似乎不难,但是真写似乎有点难度,代码贴上,#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语言砝码称重问题相关推荐

  1. p1633[进制应用]砝码称重

    描述 Description  一个天平,砝码分别为1g.3g.9g.27g.-6561g,每个砝码只有一个,要称重的物品放在天平的左侧,而砝码允许放在天平的左右两侧.已知一个物品的重量,问如何称重? ...

  2. ZCMU--5239: 砝码称重(C语言)

    Description 现有n个砝码,第i个砝码的重量为ai,你至多能选择三个砝码进行称重,请问对于1-w中的所有整数,有多少数字能被这n个砝码称出来? Input 单组测试数据,第一行输入两个正整数 ...

  3. Bailian4141 砝码称重【DP】

    4141:砝码称重 总时间限制: 1000ms 内存限制: 65536kB 描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000),要求:计算用这些砝码能称出的不同 ...

  4. 第十二届蓝桥杯省赛 C/C++大学B组 试题G:砝码称重

    试题题目: 本题为编程题第二题 解题思路: 方法一:暴力求解 1.分析    首先利用数组W[N]W[N]W[N]记录NNN块砝码的质量.    模拟放取过程.先取第一块砝码放在天平上,再取第二块砝码 ...

  5. 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-936 砝码称重

    第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-936 砝码称重 目录 第十四届蓝桥杯集训--练习解题阶段(无序阶段)-ALGO-936 砝码称重 前言 关于数学的疑问 算法训练 砝码称重 ...

  6. 智力题:砝码称重问题

    第一题 假设有280g食盐,有一架天平,有两个砝码,分别是14g,4g.请问能否在3次内将280g食盐分为100g和180g两堆,请详细描述你的解决方法 解法一: 第一次:平分280g的食盐:140g ...

  7. 洛谷 P2347 砝码称重

    P2347 砝码称重 题目描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000), 输入输出格式 输入格式: 输入方式:a1 a2 a3 a4 a5 a6 (表示1 ...

  8. 【DP】砝码称重 (ssl 1072)

    砝码称重 ssl 1072 题目大意: 有6种砝码,每种的个数分别为a1,a2,a3,a4,a5,a6,请问可以平出多少种重量(0除外) Description 设有1g.2g.3g.5g.10g.2 ...

  9. 【u204】高级砝码称重

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 现有n个砝码,重量分别为a1,a2,a3,--,an,在去掉m个砝码后,问最多能称量出多少不同的重量( ...

  10. 【OJ8756】砝码称重V2,可达性多重背包

    砝码称重V2 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=100,000),要求:计 ...

最新文章

  1. 2020年史上最全PyTorch资源合集,Github 标星1w+
  2. 老李推荐:第6章1节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览 1...
  3. underscore.js源码解析2
  4. 汉仪尚巍手书_汉仪尚巍手书免费版
  5. 用与非门设计血型配对电路_电路板中与非门集成电路的控制原理
  6. linux alsa 音频管理,在Linux上的高级音频控制
  7. Vrep当中的一些好用的工具(未完)
  8. 传递情感贺卡海报,你知道怎么设计么?让设计更简单,从临摹PSD模板开始
  9. 拼接字符串时的引号嵌套
  10. 201521460005 实验五
  11. 清华计算机专业培养,清华大学计算机本科生培养方案..pdf
  12. *printf()格式化串安全漏洞分析(上)
  13. 数学建模各种软件对比(MATLAB/Lingo/SAS/SPSS)
  14. 面向对象的程序设计-地铁路线计算程序的设计、优化与测试
  15. 计算机科学与技术的职业资格,软件水平考试是专业技术资格还是职业资格
  16. 短时间提高英语口语方法
  17. 韩国28岁自由职业者生活曝光,引40万人围观:自律的人生,到底有多爽?
  18. 月播放量增长2300倍,品牌如何在B站迅速打造爆品?
  19. 1.两数之和(python)
  20. 双十一大促直通车引流,低客单价的产品怎样引流 低客单价怎样开直通车

热门文章

  1. 怎么样修改vlan从trunk到access模式,提示renew the default configurations
  2. 常用win10优化工具(后续继续更新)
  3. 本特利电源模块3500/15-05-05-00
  4. 服务器安全基础知识系列(三)关于网页木马
  5. java运行环境简称_java程序的运行环境简称为什么?
  6. python小波变换时频分析
  7. 应用随机过程-复习笔记-Chapter4-关于期望的各态历经性习题答案
  8. openGauss数据库日志管理指导
  9. 高频电子线路——串联谐振、并联谐振总结
  10. 常见路由adsl猫默认密码