必背函数库

非常有用的一些代码//求阶乘
function fac(n:longint):longint;
var i:longint;
begin
    fac:=1;
    for i:=2 to n do fac:=fac*i;
end;

//素数判断
function prime(a:longint):boolean;
var i:longint;
begin
    if a<2 then exit(false);
    for i:=2 to trunc(sqrt(a)) do
        if a mod i=0 then exit(false);
    exit(true);
end;

//筛选法求素数
var
    i,j,n:longint;
    prime:array[1..1000] of boolean;
begin
    prime[1]:=FALSE;
    for i:=1 to 1000 do prime[i]:=true;
    for i:=2 to trunc(sqrt(1000)) do
        if prime[i] then
            for j:=2 to 1000 div i do prime[i*j]:=false;
end.

//最大公约、最小公倍
function GCD(a,b:longint):longint;
begin
    if a mod b=0 then exit(b) else exit(GCD(b,a mod b));
end;
function LCM(a,b:longint):longint;
begin
    exit(a*b div GCD(a,b));
end;

//进制转换(<10)
function conv(a,n:longint):string;
begin
    conv:=‘‘;
    while a>0 do
    begin
        conv:=chr((a mod n)+48)+conv;
        a:=a div n;
    end;
end;

//进制转换(>=10)
const
    r:array[0..19]of char=(‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘,‘G‘,‘H‘,‘I‘,‘J‘);
function conv(a,n:longint):string;
begin
    conv:=‘‘;
    while a>0 do
    begin
        conv:=r[a mod n]+conv;
        a:=a div n;
    end;
end;

//回文判断(字符串版)
function PLD(s:string):boolean;
var len,i:longint;
begin
    len:=length(s);
    for i:=1 to len div 2 do
        if s[i]<>s[len+1-i] then exit(false);
    exit(true);
end;

//回文判断(数值版)
function REV(a:longint):longint;
begin
    REV:=0;
    while a>0 do
    begin
        REV:=REV*10+a mod 10;
        a:=a div 10;
    end;
end;
function PLD(a:longint):boolean;
begin
    exit(a=REV(a));
end;

//快速排序(最终版)
procedure Qsort(l,r:longint);
var mid,i,j,t:longint;
begin
    i:=l; j:=r; mid:=a[(l+r) div 2];
    repeat
        while a[i]<mid do inc(i);
        while a[j]>mid do dec(j);
        if i<=j then
        begin
            t:=a[i]; a[i]:=a[j]; a[j]:=t;
            inc(i); dec(j);
        end;
    until i>j;
    if i<r then Qsort(i,r);
    if l<j then Qsort(l,j);
end;//高精度乘法(m的n次方)

const mx=1000;
  var a:array[1..mx]of longint;
      i,j,m,n:longint;
  procedure multi(n:longint);
  var i:longint;
  begin
     for i:=1 to mx do a[i]:=a[i]*n;
     for i:=1 to mx-1 do
     begin
        inc(a[i+1],a[i] div 10);
        a[i]:=a[i] mod 10;
     end;
  end;
  procedure print;
  var i,j:longint;
  begin
     for i:=mx downto 1 do
     if a[i]>0 then break;
     for j:=i downto 1 do write(a[j]);
     writeln;
  end;
  begin
     readln(m,n);
     a[1]:=1;
    for i:=1 to n do multi(m);
  print;
  end.

时间: 2024-10-18 06:38:45

必背函数库的相关文章

必背函数——python学习第四次总结

七个基本必背函数 join 将设置字符插入目标字符串中每个字符中间 split 按既定字符将目标字符串内全部对应分割,默认从左开始,可指定分割次数(分割后对应分割符不会返回) find 从前往后在既定右开区间内寻找指定字符串,找不到输出-1.返回的是绝对位值 strip 左右同时开始向中间祛设置字符串 upper 转换为大写 lower 转换为小写 replace 把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次 四个函数妙用 te

通过编译函数库来学习GCC

一.基本概念 什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不同(主要是编译器.汇编器和连接器的不同),因此二者库的二进制是不兼容的. 本文仅限于介绍linux下的库. 库的种类 linux下的库有两种:静态库和共享库(动态库). 二者的不同点在于代码被载入的时刻不同. 静态库的代码在编译过程中已经被载入可执行程序,因此体积较大. 共享库的代码是在可执行程序运行时才载入

ABP展现层——Javascript函数库

ABP展现层——Javascript函数库 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之21.ABP展现层——Javascript函数库 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate ASP.NET Boil

javaweb学习总结(三十)——EL函数库

一.EL函数库介绍 由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用. 这些EL函数在JSTL开发包中进行描述,因此在JSP页面中使用SUN公司的EL函数库,需要导入JSTL开发包,并在页面中导入EL函数库,如下所示: MyEclipse自带的JSTL开发包: fn.tld就是EL函数库的对应的tld描述文件,如下图所示: 在页面中使用JSTL定义的EL函数:<%@taglib uri="http://java.su

重温JSP学习笔记--El函数库

EL函数库(由JSTL提供的) * 导入标签库:<%@ tablib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> String toUpperCase(String input):把参数转换成大写 String toLowerCase(String input):把参数转换成小写 int indexOf(String input, String substring):从大串,输出小

curses不是linux里默认的C函数库

今天在调试一个贪吃蛇程序时,出现如下错误: [[email protected] c++]$ g++ snack.cpp -o snack/tmp/ccCuZ3Jm.o:在函数‘playgame(int, int)’中:snack.cpp:(.text+0xce):对‘erase’未定义的引用snack.cpp:(.text+0xed):对‘mvprintw’未定义的引用snack.cpp:(.text+0x140):对‘mvprintw’未定义的引用snack.cpp:(.text+0x166

Lua中的常用函数库汇总

lua库函数 这些函数都是Lua编程语言的一部分, 点击这里了解更多. assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息 collectgarbage() - 垃圾收集器. (新增于1.10.1) date(format, time) - 返回当前用户机器上的时间. error("error message",level) - 发生错误时,输出一条定义的错误信息.使用pcall() (见下面)捕捉错误

PHP中的PDO函数库

PDO是一个"数据库访问抽象层",作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效. 目前而言,实现"数据库抽象层"任重而道远,使用PDO这样的"数据库访问抽象层"是一个不错的选择. PDO中包含三个预定义的类 PDO中包含三个预定义的类,它们分别是 PDO.PDOStatement 和 PDOException. 一.PDO PDO->be

php总结8——mysql函数库、增删改

8.1 mysql函数库 php的函数   .php中用来操作mysql函数库的函数 常用函数 mysql_connect("主机名称/ip","用户名","密码")--->建立php到mysql的连接,返回资源----> mysql_error()  返回上一个mysql操作的文本错误信息 @ 错误抑制符 一般来说,mysql_connect和mysql_error() 一起使用,用如下方式表示: <?php $link[em