Clear["Global`*"]

人民币是中国的流通货币。它由如下面额货币组成:

1 分,2分,5分,1角,2角,5角,1元,2元

如果要组成 2元钱 可以是

2 元钱= 1 个*1元 + 1 个*5角 + 2 个*2角 + 1 个*5分 + 1 个*2分 + 3 个*1分

你可以使用以上任意货币面额组成2 元钱,问共有多少种方式?

Block[

{money, cnt, i,j, k},

money = {1, 2,5, 10, 20, 50, 100, 200};

cnt = Table[0,{200}, {8}];

Table[cnt[[1,i]] = 1, {i, 8}];

For[i = 2, i <201, i++,

For[j = 1, j <9, j++,

cnt[[i, j]] =0;

For[k = 1, k<= j, k++,

If[money[[k]]< i, cnt[[i, j]] += cnt[[i - money[[k]], k]],

If[money[[k]]== i, cnt[[i, j]]++]]]]];

cnt[[200, 8]]

] // Timing

{0.06699, 73682}

120 可以写为三组勾股数(整数) 之和,分别是 {20, 48,52}, {24, 45, 51}, {30, 40, 50} 。要求在不超过1000的数字中求出可以写为最多组勾股数之和的数。

Module[

{found, cnt, i,j, k},

found = {};

cnt = Table[0,{1000}];

For[i = 1, i <500, i++,

For[j = 1, j <i, j++,

If[2 i j + 2i i > 1000, Break[]];

For[k = 1, k< 1000, k++,

If[k (2 i j+ 2 i i) > 1000, Break[]];

If[!MemberQ[found, Hash[{2 i j k, k (i i - j j), k (i i + j j)}]],

cnt[[k (2 ij + 2 i i)]]++;

found =Append[found, Hash[{2 i j k, k (i i - j j), k (i i + j j)}]]

]

]

]

];

j = 1;

For[i = 2, i <1001, i++, If[cnt[[j]] < cnt[[i]], j = i]];

j

] // Timing

{0.030996, 840}

找出最小的一个数x,要求它的2倍,3位直到6倍各数字都与原数的数位组成是相同的,只能是顺序不同。

Module[

{i, j, num,lst},

For[i = 1, i <100, i++,

lst =RealDigits@(1/Prime[i]);

If[Depth[lst]> 3,

num =FromDigits@lst[[1, 1]];

For[j = 2, j< 8, j++,

If[j == 7,Return[num]];

If[Sort@IntegerDigits[num]!= Sort@IntegerDigits[num*j],

Break[]

];

]

]

]

]; // Timing

{0.,Return[142857]}

1487, 4817, 8147这三个数有如下特征:都是素数;由相同的数位组成(1, 4, 7, 8);三者构成等差数列。

已知在四位数中仍然有一组与此类似的等差数列,试找出来这三个数,并且按照这三个数字大小递增的顺序写出这十二个位数来。

Quiet@Module[

{list, i, nn,n, m, curlist, order, orderlist},

list =Select[Range[1000, 9999], PrimeQ];

list =IntegerDigits /@ list;

list =GatherBy[list, Sort[#1] == Sort[#2] &];

list =Map[FromDigits, Select[Flatten[list, 0], Length[#] >= 3 &],{2}];

m =Length[list];

order =Table[Permutations[Range[i], {3}], {i, 1, Max[Length /@ list]}];

For[i = 1, i<= m, i++,

curlist =list[[i]];

n =Length[curlist];

nn =Length[order[[n]]];

For[j = 1, j<= nn, j++,

orderlist =order[[n, j]];

If[curlist[[orderlist[[2]]]]- curlist[[orderlist[[1]]]] ==

curlist[[orderlist[[3]]]]- curlist[[orderlist[[2]]]],

Print[{curlist[[orderlist[[1]]]],curlist[[orderlist[[2]]]],

curlist[[orderlist[[3]]]]}]

]

]

]

] // Timing

{1487,4817,8147}

{8147,4817,1487}

{2969,6299,9629}

{9629,6299,2969}

{0.149977, Null}

Clear["Global`*"]

f[n_] := n (3 n -2)/2;

eq1 =Simplify[f[a] + f[b] == f[c]]

eq2 =Simplify[f[a] - f[b] == f[d]]

eq =Simplify[eq1[[1]] - eq1[[2]] - eq2[[1]] + eq2[[2]]]

eq = 2 f[a] -f[c] - f[d] // Simplify

eq = 2 f[b] -f[c] + f[d] // Simplify

3 a^2 + 3 b^2 +(2 - 3 c) c == 2 (a + b)

3 a^2 + 2 b + (2- 3 d) d == 2 a + 3 b^2

-4 b + 6 b^2 + 2c - 3 c^2 + d (-2 + 3 d)

-2 a + 3 a^2 + c- (3 c^2)/2 + d - (3 d^2)/2

-2 b + 3 b^2 + c- (3 c^2)/2 + 1/2 d (-2 + 3 d)

Reduce[{eq1, eq2,c > 0, d > 0, a > 0, b > 0}, {a, b}, Integers];

%[[3, 1, 1, 2]]

Minimize[%, d]

3 a^2 + 3 b^2 +(2 - 3 c) c == 2 (a + b)

a (-2 + 3 a) + (2- 3 b) b + (2 - 3 d) d == 0

1/3 + 1/3 Sqrt[-1- 6 d + 9 d^2]

{1/3 + 1/3Sqrt[-1 + 3 (-(2/3) (1 + Sqrt[2]) + 1/3 (1 + Sqrt[2])^2)], {d ->

1/3 (1 +Sqrt[2])}}

mathematica趣题解答相关推荐

  1. 100%的程序员都想挑战的算法趣题!| 码书

    计算机的世界每天都在发生着深刻的变化.新操作系统的发布.CPU性能的提升.智能手机和平板电脑的流行.存储介质的变化.云的普及--这样的变化数不胜数. 在这样日新月异的时代中,"算法" ...

  2. 我敢打赌,这是98%的程序员都想挑战的算法趣题!

    计算机的世界每天都在发生着深刻的变化.新操作系统的发布.CPU性能的提升.智能手机和平板电脑的流行.存储介质的变化.云的普及--这样的变化数不胜数. 在这样日新月异的时代中,"算法" ...

  3. 100% 的程序员都想挑战的算法趣题!

    作者 | 图小敏 计算机的世界每天都在发生着深刻的变化.新操作系统的发布.CPU性能的提升.智能手机和平板电脑的流行.存储介质的变化.云的普及--这样的变化数不胜数. 在这样日新月异的时代中,&quo ...

  4. php算法求出一个数可以被分解成多少个_程序员的算法趣题

    计算机的世界每天都在发生着深刻的变化.新操作系统的发布.CPU性能的提升.智能手机和平板电脑的流行.存储介质的变化.云的普及--这样的变化数不胜数. 在这样日新月异的时代中,"算法" ...

  5. 程序员的算法趣题Q09: 落单的男女

    目录 1. 问题描述 2. 解题分析 3. 代码及测试 4. 思考 1. 问题描述 人们聚集在某个活动会场上,根据到场顺序排成一排等待入场,活动的主办人员,想把人们从队列的某个位置分成两组,想要让分开 ...

  6. 程序员的算法趣题Q29: 合成电阻的黄金分割比

    目录 1. 问题描述 2. 解题分析 2.1 分割成两组 2.2 N=5时的分割例 2.3 阻值计算例 2.4 算法实现流程 3. 代码及测试 4. 后记 4.1 分割的洞见 4.2 另一种思路 1. ...

  7. 程序员的算法趣题Q66: 设计填字游戏

    目录 1. 问题描述 2. 解题分析 2.1 基本算法流程 2.2 连通性检查 3. 代码及测试 4. 后记 1. 问题描述 2. 解题分析 与前面的Q32.Q59以及后面的Q68(碰巧先做了Q68) ...

  8. 程序员的算法趣题:Python全解(2023-03-07:追加github repo)

    本系列(将)包含<程序员的算法趣题>(增井敏克著,绝云译)中所有问题的详细分析和Python解答.原书使用Ruby/Javascript实现,看不懂(

  9. 【趣题 一】--- 酒精与水问题

    又是很久没更新博客了,上个月毕业季着实把人弄伤了,一篇博文都没写,这样下去肯定不是个好兆头.所以,为了督促自己坚持下去,保持一定的更新率,我又效仿67大神的方法,加入了一个新的系列--[趣题].这个系 ...

最新文章

  1. ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互(SqlServer 版)
  2. 一步一步学习开发BPM工作流系统--------(一)为什么要开发工作流系统
  3. TimSort算法分析
  4. Tomcat 中文乱码 设置UTF-8编码 问题解决办法
  5. 利用计算机进行信息加工正确的说法,信息技术习题1(1-50)
  6. 把Eclipse项目转换成Maven项目
  7. 数据库中主键和外键的设计原则
  8. 【SMTP 补录 Apache服务】
  9. C++程序运行时内存布局之--无继承情况下的虚函数
  10. 函数指针 如:void (*oper)(ChainBinTreee *p)
  11. Mybatis判断表是否存在
  12. Python入门学习笔记(2)
  13. 使用NetAssist注意事项
  14. 华为USG防火墙配置命令
  15. js 实现图片上传
  16. 能量信号、功率信号及能量谱、功率谱
  17. 英语专业转行计算机可以吗,英语专业转行学IT,从“小白”到月薪10k+,她做到了!...
  18. 数字逻辑电路(1)--逻辑代数基础
  19. [BZOJ]4987: Tree 树形DP
  20. IDL---批量波段合成(只要点击运行,自动化处理,解放生产力)

热门文章

  1. 微信小程序 - 关闭当前页面无法再通过左上角返回
  2. bash: ifconfig: command not found
  3. 【Runtime Error】打开Matlib7.0运行程序报错的解决办法
  4. 重新捡起flask(二)
  5. 分布式TCP压力测试工具 tcpcopy
  6. 《STM32库开发实战指南:基于STM32F103(第2版)》——2.1节仿真器简介
  7. python/pandas数据分析(十五)-聚合与分组运算实例
  8. Forward+ Shading架构
  9. 检索COM 类工厂中CLSID 为{00024500-0000-0000-C000-000000000046}组件时失败
  10. mac 部署python环境