蓝桥杯 ADV-197 算法提高 P1001

  当两个比较大的整数相乘时,可能会出现数据溢出的情形。为避免溢出,可以采用字符串的方法来实现两个大数之间的乘法。
具体来说,首先以字符串的形式输入两个整数,每个整数的长度不会超过8位,然后把它们相乘的结果存储在另一个字符串当中
(长度不会超过16位),最后把这个字符串打印出来。例如,假设用户输入为:62773417和12345678,
则输出结果为:774980393241726.
输入:
  62773417 12345678
输出:
  774980393241726

 

蓝桥杯 ADV-188 算法提高 排列数

问题描述
  0、1、2三个数字的全排列有六种,按照字母序排列如下:
  012、021、102、120、201、210
  输入一个数n
  求0~9十个数的全排列中的第n个(第1个为0123456789)。
输入格式
  一行,包含一个整数n
输出格式
  一行,包含一组10个数字的全排列
样例输入
1
样例输出
0123456789
数据规模和约定
  0 < n <= 10!

 

蓝桥杯 ADV-187 算法提高 勾股数

问题描述
  勾股数是一组三个自然数,a < b < c,以这三个数为三角形的三条边能够形成一个直角三角形
  输出所有a + b + c <= 1000的勾股数
  a小的先输出;a相同的,b小的先输出。
输出格式
  每行为一组勾股数,用空格隔开
样例输出
例如,结果的前三行应当是
3 4 5
5 12 13
6 8 10

 

蓝桥杯 ADV-184 算法提高 素数求和

问题描述
  输入一个自然数n,求小于等于n的素数之和
样例输入
2
样例输出
2
数据规模和约定
  测试样例保证 2 <= n <= 2,000,000

 

蓝桥杯 ADV-182 算法提高 前10名

问题描述
  数据很多,但我们经常只取前几名,比如奥运只取前3名。现在我们有n个数据,请按从大到小的顺序,输出前10个名数据。
输入格式
  两行。
  第一行一个整数n,表示要对多少个数据
  第二行有n个整数,中间用空格分隔。表示n个数据。
输出格式
  一行,按从大到小排列的前10个数据,每个数据之间用一个空格隔开。
样例输入
26
54 27 87 16 63 40 40 22 61 6 57 70 0 42 11 50 13 5 56 7 8 86 56 91 68 59
样例输出
91 87 86 70 68 63 61 59 57 56
数据规模和约定
  10<=n<=200,各个整数不超出整型范围

 

蓝桥杯 ADV-181 算法提高 质因数2

将一个正整数N(1<N<32768)分解质因数,把质因数按从小到大的顺序输出。最后输出质因数的个数。
输入格式
  一行,一个正整数
输出格式
  两行,第一行为用空格分开的质因数
  第二行为质因数的个数
样例输入
66
样例输出
2 3 11
3
样例输入
90
样例输出
2 3 3 5
4
样例输入
37
样例输出
37
1