将一个正整数分解为m个2的n次方的和
-- =============================================
-- Author: <maco_wang>
-- Create date: <2011-01-21>
-- Description: <将一个正整数分解为m个2的n次方的和>
-- =============================================
--创建函数
CREATE function GetSumSequence(@num INT)
returns nvarchar(200)
AS
BEGIN
DECLARE @numc INT
SET @numc = @num
DECLARE @numstr VARCHAR(50)
SET @numstr = ''
WHILE ( @num <> 0 )
BEGIN
SET @numstr = @numstr + CONVERT(CHAR(1), @num % 2)
SET @num = @num / 2
END
--SELECT REVERSE(@numstr)
DECLARE @i INT
SET @i = LEN(@numstr)
DECLARE @j VARCHAR(MAX)
SET @j = ''
WHILE ( @i > 0 )
BEGIN
IF ( SUBSTRING(REVERSE(@numstr), LEN(@numstr) - @i + 1, 1) = '1' )
SELECT @j = @j + '+2^' + CAST (@i-1 AS VARCHAR(10))
SET @i = @i - 1
END
return (CAST(@numc AS VARCHAR(100)) + '=' + STUFF(@j, 1, 1, ''))
END
go
--测试示例
select dbo.GetSumSequence(12)
select dbo.GetSumSequence(65)
select dbo.GetSumSequence(892)
select dbo.GetSumSequence(1919191)
--运行结果
/*
12=2^3+2^2
65=2^6+2^0
892=2^9+2^8+2^6+2^5+2^4+2^3+2^2
1919191=2^20+2^19+2^18+2^16+2^14+2^11+2^7+2^6+2^4+2^2+2^1+2^0
*/
将一个正整数分解为m个2的n次方的和的更多相关文章
- 【python】将一个正整数分解质因数
		def reduceNum(n): '''题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5''' print '{} = '.format(n), : print 'Pleas ... 
- C# 练习题 将一个正整数分解质因数
		题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程 ... 
- 【Python】【demo实验17】【练习实例】【将一个正整数分解质因数】
		题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 我的源代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 ... 
- 利用matlab实现以下功能:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
		程序思路: 对n进行分解质因数,应先找到一个最小的质数k,从2开始,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n不等于k,则应打印出k的 ... 
- java将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
		首先我们的算法是:例如 输入的是 90 1.找到90的最小公约数(1除外)是 2 2.然后把公约数 2 输出 3.接着用 90 / 2 = 45 (如果这里是素数,就结束,否则继续找最小公约数) 4. ... 
- 【Python3练习题 010】将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
		#参考http://www.cnblogs.com/iderek/p/5959318.html n = num = int(input('请输入一个数字:')) #用num保留初始值 f = [] ... 
- 【Java例题】3.3	正整数分解
		3.将一个正整数分解为连续多个正整数之和. 例如: 15=1+2+3+4+5 15=4+5+6 15=7+8 package chapter3; import java.util.*; public ... 
- 题目要求:建立一个类Str,将一个正整数转换成相应的字符串,例如整数3456转换为字符串"3456".
		题目要求:建立一个类Str,将一个正整数转换成相应的字符串,例如整数3456转换为字符串"3456". 关键:怎么将一个数字转换为字符? [cpp] view plaincopy ... 
- python基础练习题(题目 将一个整数分解质因数。例如:输入90,打印出90=2*3*3*5)
		day9 --------------------------------------------------------------- 实例014:分解质因数 题目 将一个整数分解质因数.例如:输入 ... 
随机推荐
- 解读Unity中的CG编写Shader系列二
			转自 http://www.itnose.net/detail/6095974.html 上一篇文章的例子中我们可以看到顶点着色器的输出参数可以说是直接作为了片段着色器的形参传递过来,那么不由得一个问 ... 
- ios delegate 使用注意 assign,weak
			今天一个同事写代码,把一个delegate对象设定成了assign类型属性,没有用weak,就是delegate对象释放后,不会把delegate指针自动设定为nil,把对象的delegate设定成了 ... 
- AJAX学习
			AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.AJAX代码运行在客户端,其和服务器进行交互 ... 
- stream的seek方法实例
			using (FileStream outStream = new FileStream(@"D:\12.txt", FileMode.Open)) { using (FileSt ... 
- [转]收集android上开源的酷炫的交互动画和视觉效果:Interactive-animation
			原文链接:http://www.open-open.com/lib/view/open1411443332703.html 描述:收集android上开源的酷炫的交互动画和视觉效果. 1.交互篇 2. ... 
- 【leetcode】Remove Linked List Elements(easy)
			Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --& ... 
- 【leetcode】Implement strStr()  (easy)
			Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ... 
- LNMP平台搭建---Nginx安装篇
			在上一篇博文<LNMP平台搭建---Linux系统安装篇>中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx, ... 
- Lattice 的 DDR IP核使用调试笔记之工程建立
			DDR3的IP核的使用相当重要,尤其是对视频处理方面. 下面接收DDR3 的IP 核的生成步骤. 1. 选择DDR IP核的生成路径.名字以及哪种语言之后就可以设置DDR IP 的参数了. 2.选择存 ... 
- MVC – 8.Razor 布局
			8.1.@RenderBody() 8.2.多个"占位符":@RenderSection() 8.3.js合并 @Scripts.Render("~/bundles/js ... 
