对于整数幂打表的一个技巧

如果我们需要在某个整数区间打一个幂表的话,有一个方法比较好用,比如我们要在1~5000之间,打满

    1^1,    1^2,    1^3...............    1^5000

    2^1,    2^2,    2^3...............    2^5000

    3^1,    3^2.    3^3...............    3^5000

    .......

    .......

5000^1,    5000^2,    5000^3,    ...........    5000^5000的话  当然 部分表格的数肯定会爆掉题目所给的取值范围,所以我们需要筛掉那些爆掉范围的表格  示例代码如下

for(int i=1;i<=50000;++i)
    {
        mat[i][1]=i;
        for(int j=2;j<=31;++j)
        {
            mat[i][j]=mat[i][j-1]*i;
            if(mat[i][j]>2147483648LL) break;//这个2147483648LL中的LL一定要加上
        }
    }
时间: 2024-10-05 05:00:09

对于整数幂打表的一个技巧的相关文章

求一个整数的最大质因数(回答一个群友的问题)

[QQ群: 189191838,对算法和C++感兴趣可以进来] 群里最近每天都聊得很嗨,虽然不一定是技术,更多的是生活,还是非常开心.因为工作.程序只是我们生命中的一小部分,人的幸福与否,更多的由人的业余生活和他的精神世界所决定.和一群陌生的人,扯扯淡,毫无压力的聊聊人生觉得也挺好. 好的,直接奔入主题.情况是这样的,群里有位同学问了一道算法,求一个整数的最大质因数.然后他给出了代码(如下所示),但是测试没有通过. 1 int largest_prime_factor(int n) 2 { 3

一张表保存一个无限级树形目录

一张表保存一个无限级树形目录: /****** Object: Table [dbo].[TreeMenue] Script Date: 08/20/2014 18:03:00 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[TreeMenue]( [ID] [int] IDENTITY(1,1) NOT NULL, [MenueName] [v

更快的求整数幂算法

相信整数幂运算作为一个算法演变的例子是再合适不过的了为了节省访客们宝贵的学习时间省去介绍递归等可能涉及到的初级概念的定义.同时如果发现文中有错误的地方请敞开衣服指正. 因为在测试性能时合适的测试数据是必要的,所以本文用C++的大数类进行演示. 点击获取C++大数类源码 这里我们先列一下会提到的算法分析技术: 动态规划 减治法 测试平台: Linux g++ 4.7 原始递归方法 这就不花时间赘述什么了. BigInteger pow(BigInteger x, int N) { if (N ==

算法笔记01--归纳法之整数幂

整数幂 算法1:对实数x的n次幂设计一个有效的算法.一种直接的方法是对x用迭代方法自乘n次,这种方法十分低效,因为它需要O(n)乘法.一个高效的方法可以用如下方法推出,令m=n/2,假设已经知道如何计算x^m.那么有两种情况:如果n是偶数,那么x^n = (x^m)^2:否则x^n = x(x^m)^2. 算法2:令n的二进制表示为dn-1.....d1,d0.从y=1开始,由n的高位至地位扫描,如果二进制数字为0,就对y平方:如果为1就对y平方并乘x.这就产生了递归算法EXPREC. 时间复杂

对于多个数据库表对应一个Model问题的思考

最近做项目遇到一个场景,就是客户要求为其下属的每一个分支机构建一个表存储相关数据,而这些表的结构都是一样的,只是分属于不同的机构.这个问题抽象一下就是多个数据库表对应一个Model(或者叫实体类).有了这个问题,我就开始思考在现有的代码中解决问题,最早数据采集部分是用EF来做数据存储的,我查了一下,资料并不多,问了一下对EF比较熟悉的朋友,得出的结论是EF实现这个功能比较复杂,不易实现.EF不能实现就要去找其他的框架,在PDF.NET的讨论群跟大家讨论这个问题的时候,@深蓝医生说PDF.NET可

OrmLite动态创建表,一个实体类创建多张表的的偏招

在做一个Android的项目,因为使用数据库频繁,实体字段也比较多,于是打算采用ORM框架,发现OrmLite还不错,于是下了下来,打算使用. 没想到还没正式开工,就遇到问题了.我现在的一个需求如下, 我有一个实体类如下,代表聊天消息,现在要做的是针对每一个当前用户(userId)对应一个朋友(friendId)都要创建一个表.需求比较蛋疼,我本来想的是直接在加两个字段就搞定的,但是我们老大说要分表.没办法只能分表. public class ChatMessage{ public ChatMe

一个文件中有40亿个整数,每个整数为四个字节,内存为1GB,写出一个算法:求出这个文件里的整数里不包含的一个整数

4个字节表示的整数,总共只有2^32约等于4G个可能.为了简单起见,可以假设都是无符号整数.分配500MB内存,每一bit代表一个整数,刚好可以表示完4个字节的整数,初始值为0.基本思想每读入一个数,就把它对应的bit位置为1,处理完40G个数后,对500M的内存遍历,找出一个bit为0的位,输出对应的整数就是未出现的.算法流程:1)分配500MB内存buf,初始化为02)unsigned int x=0x1;  for each int j in file  buf=buf|x<<j;  e

sql server 复制表从一个数据库到另一个数据库

sql server 复制表从一个数据库到另一个数据库 /*不同服务器数据库之间的数据操作*/ --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 ' --查询示例 select * from ITSV.数据库名.dbo.表名 --导入示例 select * into 表 f

通用权限管理系统菜单展示的一个技巧

从这篇文章,希望您了解吉日嘎拉通用权限管理系统菜单项展示技巧. 项目中使用了吉日嘎拉的通用权限管理系统,几十个子系统均由该权限管理系统管理. 在系统中配置好相关菜单及非菜单项,配置截图: 菜单权限设置截图 通过下拉菜单进入其中的一个子系统 子系统中的菜单项(菜单项表示该项会在前端需要展示出来,用于用户点击的项目),其中的公开表示所有人均可看到该菜单项目. 子系统中的非菜单项(非菜单项表示该项目不需要在前端展示出来,比如有些在页面中的弹出窗口.按钮等项目) 通过单点登录到子系统以后,通过一个服务获