http://acm.hdu.edu.cn/showproblem.php?pid=1212

  

  不料JAVA又出问题了,Scanner 类竟然识别不出来,我不知道哪里出了问题,这题是求一个大数对一个相对较小的数的取余运算。刚开始的想法很傻很天真啊,直接计算出被除数的位数,再取相应的位数取余。这可是不知道错哪去了,这是对 10^K 次方的数的取余操作,放在这里显然是不合适的,如果硬要这么做的话,那么前提就是这个数必须是以MOD为进制的数。该题是这样处理的,首先判断是否满了6位,如果大于6位数字,那么就可以利用较高一位的单位量取余值等于低一位的取余值乘以十再取余。

  代码如下:

#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <iostream>using namespace std;

char num[1005];

inline int _pow( int N ){int res = 1;for( int i = 0; i < N; ++i )        res *= 10;return res;    }

int main(){int MOD, res, base;while( scanf( "%s %d", num, &MOD ) == 2 )    {        res = 0;base = 1000000 % MOD;int len = strlen( num );for( int i = len - 1, j = 0; i >= 0 && j < 6; --i, ++j )        {            res += ( num[i] - '0' ) * _pow( j );         }  if( len > 6 )        {for( int i = len - 7; i >= 0; --i )            {                res += ( base * ( num[i] - '0' ) ) % MOD;base = ( base * 10 ) % MOD;            }            }        printf( "%d\n", res % MOD );    }return 0;}

  这是网上叫我惭愧的代码,思路简洁,代码精简:

  

#include<stdio.h>#include<string.h>int main(){int n,sum,i,k;char s[1001];while(scanf("%s%d",s,&n)!=EOF)   {      k=strlen(s);      sum=0;for(i=0;i<k;i++)      {         sum=sum*10+s[i]-'0';         sum=sum%n;      }      printf("%d\n",sum);   }return 0;}

转载于:https://www.cnblogs.com/Lyush/archive/2011/10/24/2222903.html

HDU-1212 Big Number JAVA又出毛病了相关推荐

  1. HDU 3826 Squarefree number:题目解答源码

    2019独角兽企业重金招聘Python工程师标准>>> HDU 3826 Squarefree number:题目解答源码 In mathematics,a squarefree n ...

  2. hdu 2665 Kth number(划分树模板)

    http://acm.hdu.edu.cn/showproblem.php?pid=2665 [ poj 2104 2761 ]  改变一下输入就可以过 http://poj.org/problem? ...

  3. 划分树基础 —— HDU 2665 Kth number

    对应 HDU 题目 :点击打开链接 Kth number Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  4. 【HDU】1005 Number Sequence (有点可爱)

    http://acm.hdu.edu.cn/showproblem.php?pid=1005 A number sequence is defined as follows: f(1) = 1, f( ...

  5. 枚举 + 进制转换 --- hdu 4937 Lucky Number

    Lucky Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) T ...

  6. hdu 4937 Lucky Number(数学题 进制转换)2014多校训练第7场

    Lucky Number                                                                          Time Limit: 20 ...

  7. HDU 1492 The number of divisors(约数) about Humble Numbers(数论,简单约数)

    The number of divisors(约数) about Humble Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Lim ...

  8. HDU 1492 The number of divisors(约数) about Humble Numbers

    The number of divisors(约数) about Humble Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...

  9. HDU 5972 Regular Number

    Regular Number http://acm.hdu.edu.cn/showproblem.php?pid=5972 题意: 给定一个字符串,求多少子串满足,子串的第i位,只能是给定的数(小于等 ...

最新文章

  1. arm服务器获取文件路径中文,ssh 访问远程服务器文件路径
  2. qtdesigner怎么实现菜单栏跳转_人人都可写代码-Android零基础编程-app 入口菜单栏实操08...
  3. 计算机视觉研究入门全指南----新手博士需要准备的资料
  4. UCINET 社会网络分析工具
  5. 《销售从被拒绝开始》叶冠1
  6. 软件开发了10年,迷茫了
  7. 程序员求职面试三部曲之一:选择合适的工作单位
  8. 阿里云商品评价解析功能示例解析
  9. 从零开始学keras之过拟合与欠拟合
  10. Pythonic:递归、回溯等5种方法生成不重复数字整数
  11. 【前端规划】来看看我整理的这一份专属技术知识图谱吧~
  12. Maven压缩插件YUI Compressor使用介绍
  13. 聚名商学院:近六百元在聚名网抢注域名,两年不到卖了八万八千八百八十八元,这就是域名投资的魅力!
  14. elasticsearch中基于slop参数实现近似匹配
  15. 美丽的回测你定量算过拟概
  16. UTF-8的繁体与简体转换
  17. 真正的Java学习从入门到精通
  18. 软件与硬件之间的交互流程
  19. Python中的下划线到底什么意思?
  20. Swift Podcast: Chris Lattner 讲述 Swift 起源故事

热门文章

  1. python进程、线程的学习心得
  2. 为什么利用多个域名来存储网站资源会更有效?
  3. 如何在高并发环境下设计出无锁的数据库操作(Java版本) 转载
  4. 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践
  5. 如何在debian 中启用 fbcon
  6. 斑马快跑已获3亿元新一轮融资,已成为全国第五大网约车平台
  7. Go 语言的包依赖管理
  8. glance image-create
  9. SHGetFileInfo函数详解
  10. 在CentOS下安装WebBench进行web 性能测试