好吧,用的语法很糟糕。。。但是至少是做了练习。

题目

%The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be:
%1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...
%Let us list the factors of the first seven triangle numbers:
%
% 1: 1
% 3: 1,3
% 6: 1,2,3,6
%10: 1,2,5,10
%15: 1,3,5,15
%21: 1,3,7,21
%28: 1,2,4,7,14,28
%We can see that 28 is the first triangle number to have over five divisors. %What is the value of the first triangle number to have over five hundred divisors?

好吧,我先写了个module,用来计算triangle num:

-module(triangle).
-export([triNum/1]). triNum(0) -> 0;
triNum(N) ->
N + triNum(N-1).

然后,我写了个module,来计算具体某个数有多少个triNum:

-module(divisor).
-export([num_of_divisor/2]). num_of_divisor(_, 0) -> 0;
num_of_divisor(Num, Factor) when (Num rem Factor) =:= 0 ->
2 + num_of_divisor(Num, Factor - 1);
num_of_divisor(Num, Factor) when (Num rem Factor) =/= 0 ->
num_of_divisor(Num, Factor-1).

好吧,然后,我又用了第三个module:

-module(forRange).
-export([forRange/1]).
-import(triangle, [triNum/1]).
-import(divisor, [num_of_divisor/2]). forRange(0) -> 0;
forRange(N) when N>0 ->
TriNum = triNum(N),
Res = num_of_divisor(TriNum, TriNum)/2,
if
Res >= 100 ->
io:format("~f~n", [Res]),
io:format("~b~n", [N]);
true ->
io:format("~n")
end, forRange(N-1).

。。。

最后数找到了384,我还给自己找了个冠冕堂皇的接口,我还在熟悉语法。。。

一个糟糕的Erlang练习题的更多相关文章

  1. 一个完整的Erlang应用

    http://blog.chinaunix.net/uid-25876834-id-3308693.html 这里介绍构建一个完整的Erlang/OTP应用的例子,最后还给出了一个在实际生成环境中,如 ...

  2. .Net Core 没有 WebForm 是 历史 的 退步, MVC 是一个 糟糕 的 设计

    WebForm 自面世以来,  广受广大开发人员的欢迎 . 当然, WebForm 有一些 著名的 弊病,  比如 笨重的 ViewState . 不过 我们 可以 用 一些 更加 先进 和 灵巧 的 ...

  3. Erlang练习题----shopping

    直接就上代码了: -module(shop). -export([cost/1,total/1]). cost(orange) -> 5; cost(newspaper) -> 8; co ...

  4. 一个简单的python练习题

    最近几天看了python的基础知识,也写了两篇博客:http://futuretechx.com/python2/和 http://futuretechx.com/python-basicknowl/ ...

  5. 【翻译】DotNetMQ: 一个.NET版完整的消息队列系统

    在一个大型的分布式系统中,消息队列是不可缺少的中间件,能很好的解决异步消息.应用解耦.均衡并发等问题.在.net中,偶然发现一个效率不错.安全可靠.功能齐全的消息组件,忍不住翻译过来,供大家快速预览. ...

  6. [Erlang 0126] 我们读过的Erlang论文

    我在Erlang Resources 豆瓣小站上发起了一个征集活动 [链接] ,"[征集] 我们读过的Erlang论文",希望大家来参加.发起这样一个活动的目的是因为Erlang相 ...

  7. [Erlang 0124] Erlang Unicode 两三事 - 补遗

    最近看了Erlang User Conference 2013上patrik分享的BRING UNICODE TO ERLANG!视频,这个分享很好的梳理了Erlang Unicode相关的问题,基本 ...

  8. 一次erlang 节点CPU严重波动排查

    新服务上线后观察到,CPU在10 ~ 70%间波动严重,但从每秒业务计数器看业务处理速度很平均. 接下来是排查步骤: 1. dstat -tam 大概每10s一个周期,网络流量开始变得很小,随后突然增 ...

  9. Erlang中如何在同一台机器上运行多个erlang节点?

    首先打开shell,然后在打开cmd输入:erl -sname bilbo  这样就启动了一个gandal的erlang节点. 如图:

随机推荐

  1. 错误异常 (1)Android Studio错误提示:Gradle project sync failed. Basic functionality (eg. editing, debugging) will not work properly

    [已解决]Android Studio错误提示:Gradle project sync failed. Basic functionality (eg. editing, debugging) wil ...

  2. this关键字的使用

    一,表示类中属性 1,没有使用this的情况 class Person{ // 定义Person类 private String name ; // 姓名 private int age ; // 年 ...

  3. yepnope初体验

    真是一个百花齐放的项目,在熟悉代码的过程中,看到各种前端.后端技术,这回又冒出一个yepnope的东东,搜索了一下,不是什么新技术,打开官方网站,已经弃用的通知非常醒目,但仍提供相关文档在github ...

  4. 基于 URL 的权限控制

    先不用框架,自己实现一下 数据库 /* SQLyog v10.2 MySQL - 5.1.72-community : Database - shiro *********************** ...

  5. f2fs解析(五)什么叫做compacted summary

    f2fs中普通的summary是长这样的:每一个段的SSA block中,前半部分是这个段的SSA,然后对于HOT_DATA以及COLD_DATA段,存放是的是nat journal 和 sit jo ...

  6. 【WPF】WPF中调用Winform

    1.添加两个引用:WindowsFormsIntegration.dll(负责整合WPF和Windows).System.Windows.Forms.2.在 XAML文件中添加两个引用(粗体部分): ...

  7. C语言 文件操作3--文件重定向与扫描

    //文件重定向和扫描 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> //fprint ...

  8. 拿什么拯救你,我的代码--c#编码规范实战篇 (转)

    http://www.cnblogs.com/lazio10000/p/5413439.html 此文为译文,原文地址请点击. 本文通过重构一个垃圾代码,阐述了如何写出优秀的代码.开发人员及代码审核人 ...

  9. Caffe学习系列(8):solver优化方法

    上文提到,到目前为止,caffe总共提供了六种优化方法: Stochastic Gradient Descent (type: "SGD"), AdaDelta (type: &q ...

  10. [CareerCup] 14.5 Object Reflection 对象反射

    14.5 Explain what object reflection is in Java and why it is useful. Java中的对象反射机制可以获得Java类和对象的反射信息,并 ...