关于数值统计的几个算法
来源:互联网 发布:英雄联盟知乎 编辑:程序博客网 时间:2024/05/19 17:22
类别已经说明了,这是很基础的一些东西,具体如下:
由两大部分——求某一区间范围内的所有数值之和 + 求单个整数的各个位的数值之和/积。
//首三行目的:使各文件只能被编译一次#pragma once#ifndef Programming_Experience_CountingHelper_H#define Programming_Experience_CountingHelper_H//计算某一区间内的各数之和// 原先想直接用long long类型,但突然觉得可以泛型化的,两者都用。typedef long long LL;LL numberCounting(LL left, LL right) {LLtemp = 0;for (LL i = left; i <= right; ++i) {temp += i;}returntemp;}//单个数的各个位数的求和/乘积template <typename T>T numberCounting(T n,char ch) {Ttemp;switch (ch){case '*': {temp = 1;while (n) {temp *= (n % 10);n /= 10;}break;}case '+': {temp = 0;while (n) {temp += (n % 10);n /= 10;}break;}}returntemp;}#endif // ! Programming_Experience_CountingHelper_H
.h文件的设计只是为了方便测试数据,具体设计完全自由,变动很大。
//有关数字统计(十进制数)的一些算法设计//Created by Ant on 25/07/2017//#include <iostream>#include <cstdio>#include <cassert>#include "CountingHelper.h"using namespace std;intmain() {long long m, n;cin >> m >> n;assert(m <= n);printf("区间[%lld,%lld]上各数之和为:\t%lld\n", m, n, numberCounting(m, n));cout << m << "的各个位的数值之和为:\t" << numberCounting(m,'+') << endl;cout << n << "的各个位的数值之和为:\t" << numberCounting(n, '+') << endl;cout << m << "的各个位的数值的乘积为:\t" << numberCounting(m, '*') << endl;cout << n << "的各个位的数值的乘积为:\t" << numberCounting(n, '*') << endl;return 0;}
这是一个简单的测试样例的运行结果:
喂丸待续……
阅读全文
0 0
- 关于数值统计的几个算法
- 关于几个统计值以及matlab的算法
- 关于几个统计用的C++方法
- STL 中几个简单的数值算法实现
- 关于序列的几个算法
- 关于图的几个算法
- 关于字符串的几个算法
- 孩子兄弟存储结构的几个统计算法实现
- 关于递归的几个算法实现
- 关于大林算法的几个感性认识
- 关于遮挡剔除的几个算法尝试
- 关于数值方法的一些算法解析(1)
- 关于数值方法的一些算法解析(2)
- 关于数值方法的一些算法解析(3)
- 关于数值方法的一些算法解析(3)
- 关于数值方法的一些算法解析(3)
- 关于数值的操作
- MySql中关于某列中相同数值连续出现次数的统计
- 将word中的所有mathtype公式统一设置格式
- 经典英文电影及其台词、经典英文书
- CRM的dev(零)--客户关系系统的序言
- swing平滑曲线图
- NEUOJ 1211 MJF wants to work (与区间相关的贪心)
- 关于数值统计的几个算法
- 解决linux用户丢失的问题
- [BZOJ] 3670: [Noi2014]动物园
- Dockerfile详解
- JavaScript学习(一)基础知识
- where group by联合使用
- stream 中的groupingBy 和partitioningBy
- IO流进阶1
- pdf转化成图片格式