大整数除法

L1-046. 整除光棍
  这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

提示: 一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。
输入格式:

输入在一行中给出一个不以5结尾的正奇数x(< 1000)。

输出格式:

在一行中输出相应的最小的s和n,其间以1个空格分隔。

输入样例:

31

输出样例:

3584229390681 15

属性 要求 属性 要求
时间限制 400 ms 内存限制 65536 kB
代码长度限制 8000 B 判题程序 Standard

解析:
  看到题目的提示就知道,绝对不可以从1开始试吧。我查了一下,(=゚ω゚)ノ发现了大整数除法这种巧妙的东西。
  回想一下小时候学的除法。就是拿着除数从被除数的第一位开始算,化除法为减法的思路。
  先看题目要求,输入一个数x,让你输出两个数a和n,理一下:某个光棍数=a×x,n=a×x,n=a×x,n为这个光棍数的位数。
  (如果想不明白,可以看代码后边的补充)

答案:

#include<iostream>
using namespace std;
int main()
{  int x,n,s=0,flag=0;  cin>>x; for(n=1;;n++)//n统计有几个1{  s=s*10+1;if(s>=x)//可以除的时候{  flag=1;//做标记,已经开始输出了cout<<s/x;//能除的商}  else if(flag==1)//s<x&&flag==1也就是说已经开始输出了但是s此时小于x,那么就上0  cout<<0;s=s%x;///记录余数  if(s==0)///能除尽则跳出 break;  }  cout<<" "<<n;;///输出位数  return 0;
}

补充:
  以101为例子计算:
  
  flag输出标志,用于标记是否开始输出了,如果开始输出,之后flag都不会改变了。
  s ,s >= x , s % x都是像小学学的除法一个作用,自己理解一下啦(●’◡’●)ノ♥ 。


大整数乘法

题目内容:
求两个不超过200位的非负整数的积。
输入格式:
有两行,每行是一个不超过200位的非负整数,没有多余的前导0。
输出格式:
一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。
输入样例:

12345678900
98765432100

输出样例:

1219326311126352690000

解析:
就是普通乘法式子。
答案:

#include<iostream>
#include<cmath>
#include<string>
#include<cstring>
using namespace std;
int main()
{string a,b;cin>>a>>b;int n=a.length()+b.length();int *s=new int[n];memset(s,0,n*sizeof(int)); //初始化数组for(int i=0;i<a.length();i++){for(int j=0;j<b.length();j++){s[i+j+1]+=(a[i]-'0')*(b[j]-'0'); //想一下乘法怎么写的} }for(int i=a.length()+b.length()-1;i>0;i--) //乘法进位{if(s[i]>9){s[i-1]+=s[i]/10;s[i]%=10;}}int c=0;for(int i=0;i<n;i++){if(s[i]==0)c++;else  break;}for(int i=c;i<n;i++){cout<<s[i];}if (c==n){cout<<0;}return 0;
}

C++ 大整数除法 | 大整数乘法相关推荐

  1. 1.13 编程基础之综合应用 47 大整数除法方法 python

    http://noi.openjudge.cn/ch0113/47/ """ 1.13 编程基础之综合应用 47 大整数除法方法一 http://noi.openjudg ...

  2. Bailian2737 大整数除法【大数】

    2737:大整数除法 总时间限制: 1000ms 内存限制: 65536kB 描述 求两个大的正整数相除的商. 输入 第1行是被除数,第2行是除数.每个数均不超过100位. 输出 一行,相应的商的整数 ...

  3. 大整数算法[09] Comba乘法(原理)

    ★ 引子          原本打算一篇文章讲完,后来发现篇幅会很大,所以拆成两部分,先讲原理,再讲实现.实现的话相对复杂,要用到内联汇编,要考虑不同平台等等. 在大整数计算中,乘法是非常重要的,因为 ...

  4. NOI1.13.47 大整数除法 题解(C++)

    NOI1.13.47 大整数除法 题解(C++) 这题一看题目就知道绝非普通的long long 或 int .这可是高精度呀. 题目 47:大整数除法 总Time Limit: 1000ms Mem ...

  5. python 大整数的精确计算——除法(/)、整数除法(//)

    ____tz_zs 误差来源 这是因为浮点运算永远只是一个近似值,特别是当你超出了你的CPU能够准确建模的范围(因为浮点运算是在硬件中处理的). 整数除法不需要把整数转换成浮点数,它只需要用整数相除, ...

  6. 第49课 大大大(纯小数变整数) 《小学生C++趣味编程》

    /*第49课 大大大(纯小数变整数)--学会编程,未来你将拥有更多的机会与可能--试编一程序,输入一个纯小数,把它变成整数后输出. (设纯小数的小数位数不超过9)0.1 1 0.125 125 */ ...

  7. Date_Calendar_SimpleDateFormat_大浮点数和大整数

    文章目录 Date类 Calendar类 SimpleDateFormat BigInteger 大整数 BigDecimal 大浮点数 Date类 java.util包下的类 public clas ...

  8. 本题要求将给定的n个整数从大到小排序后输出。

    本题要求将给定的n个整数从大到小排序后输出. 输入格式: 输入第一行给出一个不超过10的正整数n.第二行给出n个整数,其间以空格分隔. 输出格式: 在一行中输出从大到小有序的数列,相邻数字间有一个空格 ...

  9. c语言冒泡法对10个整数由大到小排序,用冒泡法对10个整数排序

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:用冒泡法对10个整数排序.10个整数用scanf函数输入回答:举了例:一个数组:3,2,5,1,4从小到大排序从左侧开始,逐对比较3 ...

最新文章

  1. 如何像算法工程师一样,看待这个世界?
  2. 『前端规范化』CSS命名规范化
  3. Redis介绍及部署在CentOS7上(一) 1
  4. 【PHP】php生成一个不重复的数字(订单号、会员号)
  5. 【LeetCode】5.最长回文子串
  6. Applese 的回文串(加一个字符的回文)
  7. 介绍自定义JDataGrid电子表格版本公式中的函数?
  8. SSH中为什么action需要用多例而dao层和service层为什么就用单例就可以
  9. 基于机器学习和TFIDF的情感分类算法,详解自然语言处理
  10. wos 文献被引_全世界最权威的文献检索工具,这6个检索技巧必须要掌握!
  11. android 开启离屏缓存,Android性能优化笔记(持续更新帖)
  12. linux查看cpu与内存
  13. kdj买卖指标公式源码_通达信买卖KDJ副图指标公式
  14. python单例模式数据库连接池_Python单例模式的实现
  15. elasticsearch对analyzed字段无法使用term方法的解决办法
  16. 和NeroBlack合作的流体教学在AboutCG发布
  17. python 方波信号_python实现周期方波信号频谱图
  18. 已设定选项 ‘readonly‘ (请加 ! 强制执行)
  19. R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列
  20. 分享快手极速版助手APK和源代码

热门文章

  1. 半高半长 PCIe 20G 以太网实 存储卡 K7
  2. spring boot mail 发送 设置代理服务器
  3. 直播合辑 | 微软ATP与您相约100场公益演讲
  4. 使用 妹子UI 开发后台管理页面
  5. Windows Server 2008 R2 遗忘管理员密码后的解决方法
  6. ABAQUS软件实训(八):线性静力学分析概述
  7. 揭秘云指建站全新SEO功能:打通百度流量平台,变身建站SEO神器
  8. vue+vux vux安装出现错误
  9. 3D人脸识别——点云转化为可训练的图片
  10. python猪肉价格预测_如果现在生猪期货上市,猪肉价格会下降吗?