lightoj 1214 Large Division  (大数除法)

链接:http://www.lightoj.com/volume_showproblem.php?problem=1214

题意:给定 a, b 两个数,判断 a 是否整除 b 。(a 为 大数)

思路: 用字符串存 a ,转化为 整型数组,用除法原理进行处理,没什么难度。其中关键是负号的处理。

代码:

 #include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std; typedef long long LL;
LL b, x, y;
char ar[]; // a
int nu[]; //把 a 字符转化为数字 bool option()
{
int i = , j;
int len = strlen(ar); //a 的长度
if(ar[] == '-') len--, i = ; //去掉 a 的‘-’号
for(j = ; ar[i]; ++j, ++i) //转化
nu[j] = ar[i] - '';
if(b < ) b = -b; //去掉 b 的负号
for(j = , y = ; j < len; ) //循环除法
{
x = y;
while(x <= b && j < len)
{
x = x * + nu[j];
j++;
}
y = x % b;
}
if(y) return false;
return true;
} int main()
{
int t, i = ;
//freopen("in.txt", "r", stdin);
cin >> t;
while(t--)
{
scanf("%s%lld", ar, &b);
printf("Case %d: ", i++);
puts(option() ? "divisible" : "not divisible" );
}
return ;
}

刚才又写了一遍,用的java,刚学java,求不喷:

 import java.math.BigInteger;
import java.util.Scanner; /**
* @author Administrator
*
*/
public class Main { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BigInteger a, b;
int t;
Scanner cin = new Scanner(System.in);
t = cin.nextInt();
for(int i = ; i <= t; i++){
a = cin.nextBigInteger();
b = cin.nextBigInteger();
if(a.abs().mod(b.abs()).compareTo(BigInteger.ZERO) == ){
System.out.println("Case "+i+": divisible");
}
else {
System.out.println("Case "+i+": not divisible");
}
}
} }

lightoj 1214的更多相关文章

  1. LightOJ 1214 Large Division 水题

    java有大数模板 import java.util.Scanner; import java.math.*; public class Main { public static void main( ...

  2. LightOJ 1214 Large Division

    Large Division Given two integers, a and b, you should check whether a is divisible by b or not. We ...

  3. [kuangbin带你飞]专题十四 数论基础

            ID Origin Title   111 / 423 Problem A LightOJ 1370 Bi-shoe and Phi-shoe   21 / 74 Problem B ...

  4. KUANGBIN带你飞

    KUANGBIN带你飞 全专题整理 https://www.cnblogs.com/slzk/articles/7402292.html 专题一 简单搜索 POJ 1321 棋盘问题    //201 ...

  5. kuangbin 带你飞 数学基础

    模版整理: 晒素数 void init() { cas = ; ; i < MAXD ; i++) is_prime[i] = true; is_prime[] = is_prime[] = f ...

  6. [kuangbin带你飞]专题1-23题目清单总结

    [kuangbin带你飞]专题1-23 专题一 简单搜索 POJ 1321 棋盘问题POJ 2251 Dungeon MasterPOJ 3278 Catch That CowPOJ 3279 Fli ...

  7. ACM--[kuangbin带你飞]--专题1-23

    专题一 简单搜索 POJ 1321 棋盘问题POJ 2251 Dungeon MasterPOJ 3278 Catch That CowPOJ 3279 FliptilePOJ 1426 Find T ...

  8. 1214 - Large Division -- LightOj(大数取余)

    http://lightoj.com/volume_showproblem.php?problem=1214 这就是一道简单的大数取余. 还想还用到了同余定理: 所谓的同余,顾名思义,就是许多的数被一 ...

  9. LightOJ Beginners Problems 部分题解

    相关代码请戳 https://coding.net/u/tiny656/p/LightOJ/git 1006 Hex-a-bonacci. 用数组模拟记录结果,注意取模 1008 Fibsieve's ...

随机推荐

  1. 【转】巫师3:狂猎(The Witcher 3: Wild Hunt )的游戏事件工作流

    转自腾讯游戏开发者平台(GAD) CDPROJEKT RED的主程序.Piotr Tomsinski 在GDC2016的最后一天18号,CDPROJEKT RED的主程Piotr Tomsinski, ...

  2. 微信小程序:封装全局的promise异步调用方法

    微信小程序:封装全局的promise异步调用方法 一:封装 function POST(url, params) { let promise = new Promise(function (resol ...

  3. 如果Python对于磁盘没有写入权限,还会运行吗?

    Python如果对于磁盘没有写入权限,那么编译成功的字节码文件就只会存储在内存当中,而不会写入到磁盘,每次运行Python都会重新编译,然后运行.

  4. 最短路径——floyd(多源最短路径)

    #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> ...

  5. C语言--链表基础模板

    1.建立结构体 struct ST { int num;///学号 int score;///成绩 struct ST*next; };///结构体 2.空链表的创建 struct ST creatN ...

  6. 如何:调试 .NET Framework 源代码

    文章标题:如何:调试 .NET Framework 源代码 文章地址:https://technet.microsoft.com/zh-cn/cc667410.aspx

  7. Linux 路由 学习笔记 之一 相关的数据结构

    http://blog.csdn.net/lickylin/article/details/38326719 从现在开始学习路由相关的代码,在分析代码之前, 我们还是先分析数据结构,把数据结构之间的关 ...

  8. 3ds Max学习日记(八)

      再来更新一波学习进度.   之前玩了一下3dsmax里的灯光,不过由于和教程里的版本不同,教程里的我的没有,我有的教程又没有,所以只能瞎jb玩一玩.   最近又想建个人物模型玩玩,于是上网搜一下有 ...

  9. RHEL 6.4(i386)安装MySQL 5.6的方法

  10. Qt代码覆盖率code coverage(VS版)

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt代码覆盖率code coverage(VS版)     本文地址:http://techi ...