MT1283·区间Disarium数
号难度:青铜
0时间限制:1秒
巴占用内存:64M
★收藏
A报错
一个自然数,如果每一位数的位数次幂之和等于该自然数,则称之为Disarium数。
比如:89=8+9*9。或者135=1+3*3+5*5*5
输入整数区间,输出区间(含边界)内所有的Disarium数。不考虑0,负数或者其他特
殊情况。
格式
输入格式:输入为整型,空格分隔
输出格式:输出为整型,空格分隔
样例1
输入:1100
复制
输出:12345678989
复制
//
// Created by abner on 2022/11/10.
//
#include <bits/stdc++.h>
using namespace std;
bool isDisarium(int num)
{
int count=1,sum=0;
int temp1 = num,temp2 = num;
while(temp1/10){
temp1/=10;
count++;
}
for(int i=count;i>=1;i--){
sum += pow(temp2%10,i);
temp2 /= 10;
}
if(sum == num)return true;
else return false;
}
int main() {
int left, right;
scanf("%d%d", &left, &right);
for (int i = left; i <= right; i++)
if (isDisarium(i))
printf("%d ", i);
return 0;
}
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
外文名
MapReduce
本 质
一种编程模型
用 途
大规模数据集的并行运算
特 点
分布可靠
思想来源
Google的几篇论文
应 用
大规模的算法图形处理、文字处理
目录
定义
编辑 播报
MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:
1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。
2)MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。
3)MapReduce是一个并行程序设计模型与方法(Programming Model & Methodology)。它借助于函数式程序设计语言Lisp的设计思想,提供了一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理 [1] 。