青少年编程知识记录 codecoming

【题解】大整数减法

【题目描述】

求两个大的正整数相减的差。

【输入】

共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。

【输出】

一行,即所求的差。

【输入样例】

9999999999999999999999999999999999999

9999999999999

【输出样例】

9999999999999999999999990000000000000



作者:亿万年的星光 分类:题解目录 浏览:

【题解】大整数加法

【题目描述】

求两个不超过200位的非负整数的和。

【输入】

有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。

【输出】

一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。

【输入样例】

22222222222222222222

33333333333333333333

【输出样例】

55555555555555555555

作者:亿万年的星光 分类:题解目录 浏览:

【算法】高精度(2)

五、高精度处理进位与借位    其实也很简单,我们再来模拟一下,1439+887的时候,首先我们最低位相加,得到16,那么答案最低位就是6,再进个1,然后两数的十位相加,3+8=11,然后再加上进位的1,就是11+1=12,所以答案十位就是2,再进1,4+8+1=13,答案百位是3,进1,1+0+1=2,答案千位是2。所以结果就是6232!哦,不对反了,是2326,这里要注意一下,输出的时候是倒着输出的,千万不要忘了。总结一下,进位的步骤大致如下:1、将当前位置的数
作者:亿万年的星光 分类:算法 浏览:

【算法】高精度(1)

一、  什么是高精度高精度算法,属于处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数,高精度算法是用计算机对于超大数据的一种模拟加,减,乘,除,乘方,阶乘,开方等运算。对于非常庞大的数字无法在计算机中正常存储,于是,我们可以将这个数字拆开,拆成一位一位的,或者是几位几位的存储到一个数组中, 用一个数组去表示一个数字,这样这个数字就被称为是高精度数。高精度算法就是能处理高精度数各种运算的算法,
作者:亿万年的星光 分类:算法 浏览:

【题解】区间数位个数

区间数位个数(digit.cpp)

【描述】

给定整数n和整数k,求出1~n中所有数的每一位数字中,出现数字k的次数。

【输入】

第一行是两个个整数n和k

【输出】

一个整数表示答案。

【样例输入输出】

light.in

light.out

123456 5

58993



【数据范围】

60%的数据:n<=1e6,1<=k<=9

80%的数据:n<=1e12,1<=k<=9

 

作者:亿万年的星光 分类:题解目录 浏览:

【题解】区间和

【描述】

输入一个整数Q,进行Q次询问,每次给定两个整数l和r,每一次输出l~r中所有平方数的和 % 1000000007

【输入】

第一行是一个整数Q

后面的Q行每行有2个数字l和r

【输出】

Q行,每行一个整数。

【样例输入输出】

light.in

light.out

2

2   10

3   100

13

384



【数据范围】

40%的数据:Q<=1000,l<=r<=1000。

80%的数据:Q<=1000,l<=r<=1e6。

100%的数据: Q<=1e6,l<=r<=1e6

作者:亿万年的星光 分类:题解目录 浏览:

求阶乘的方法

1.普通求法#include<iostream> using namespace std; int main(){ int sum=1; int n; cin>>n; for(int i=1;i<=n;i++){ sum=sum*i; }  cout<<sum; return 0; }2.递归法#include<iostream&
作者:亿万年的星光 分类:C++知识 浏览:

【题解】阶乘问题

2.阶乘问题(fac.cpp)

【题目描述】

给定一个正整数n,求出一个最小的整数m并使得m!的末尾连续的0的个数小于n。

m!=1*2*3*4*...*m

【输入描述】

第一行n。

【输出描述】

一个整数m。

【样例输入】

5

【样例输出】

25



【数据范围】

30%的数据:n<=20

70%的数据:n<=100

100%的数据:n<=100000

作者:亿万年的星光 分类:题解目录 浏览:

【题解】开关灯(2)

1.开关灯(light.cpp)

【题目描述】

某实验室共有n盏灯,灯的编号为1~n,每盏灯的初始状态是关闭的。现在有m位学生,每位学生可以前去抽取一张带数字的卡片,其数字为Ai,然后依次将自己手中的数字卡片倍数编号的灯进行操作,开的灯将会被关闭,关闭的灯则会被重新打开,这个过程进行k轮后有多少盏灯最终状态为打开。

【输入描述】

第一行是三个整数n,m,k。

第二行是m个整数A

【输出描述】

一个整数,为最终为打开状态的灯的数量。

【样例输入】

10 10 1  1 2 3 4 5 6 7 8 9 10



【样例输出】

3

标签: 数组

作者:亿万年的星光 分类:题解目录 浏览:

【题解】AC

4.AC(ac.cpp) 

【问题描述】

 小明获得了一行字符串,他想知道在不改变字符顺序的情况下,从前到后最多能组合出多少个ac? (a和c的位置可以不连续)比如:字符串为addcadcc,可以找到5个ac,即下标组合为(0,3)、 (0,6)、(0,7)、(4,6)、(4,7)。 

【输入格式】

 仅一行字符串(只包含字母)。 

【输出格式】

 一个整数,字符串中找到ac的数量。 

【输入样例】

addcadcc



【输出样例】

5



【数据规模和约定

50%的数据:0<字符串长度<=1e3;

100%的数据:0<字符串长度<=1e6;

作者:亿万年的星光 分类:题解目录 浏览: