记几道编程题目

举报
Amrf 发表于 2021/02/18 17:40:07 2021/02/18
【摘要】 最小公倍数 (1-n 个数的最小公倍数,大数)

最小公倍数 (1-n 个数的最小公倍数,大数)

https://hanks.pub/2013/10/23/NYOJ_517_%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0_%EF%BC%881-n_%E4%B8%AA%E6%95%B0%E7%9A%84%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0%EF%BC%8C%E5%A4%A7%E6%95%B0%EF%BC%89/

两种任意进制之间的转换(大数)

https://hanks.pub/2013/10/20/POJ_1220_%EF%BC%88%E4%B8%A4%E7%A7%8D%E4%BB%BB%E6%84%8F%E8%BF%9B%E5%88%B6%E4%B9%8B%E9%97%B4%E7%9A%84%E8%BD%AC%E6%8D%A2%EF%BC%88%E5%A4%A7%E6%95%B0%EF%BC%89%EF%BC%8Cjava%E7%9A%84BigInteger%EF%BC%89/

C++ ! 最大公约数 !(大数)

https://blog.csdn.net/weixin_42228705/article/details/100082286

通用的最小公倍数和最大公约数运算

https://blog.csdn.net/xiaoquantouer/article/details/61919470

https://github.com/wanggchongg/leetcode/blob/master/%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0_%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0.cpp

Pairs of Numbers

https://www.cnblogs.com/ustc-anmin/p/11265363.html

整数的质因子

https://blog.csdn.net/zzran/article/details/8076783

#include <iostream>
#include <cmath>
using namespace std;

void prime_factors(long n) {
	long i;
	while(n % 2 ==0) {
		n = n / 2;
		cout<<2<<" ";
	}
	for(i = 3; i <= sqrt(n); i += 2) {
		while(n % i == 0) {
			n = n / i;
			cout<<i<<" ";
		}
	}
	if(n > 2) {
		cout<<n << " ";
	}
}

int main(int argc, char *argv[])
{
    long num;
    cin>>num;
    prime_factors(num);
    return 0;
}
  • 135 修理手机 -- 队列的使用
题目描述
一个城市可以近似看成n*m的网格图,某公司有k个维修点,每个维修点有固定的坐标,城市里面有h个客户需要修理手机,客户有固定的坐标。维修员在地图上只能上下左右走,不能斜着走,每走一个格子需要2块钱的花费。每个维修点拥有无数个员工,每个员工可以被派去为一个客户服务。城市里面有z个地方在修理管道,这些地方是不能走的。可能有一些客户是被隔离的(上下左右都在修管道),这里是不需要派员工去修理手机了。华为公司为了节省财力,想找到最小的花费。

输入
第一行给出两个正整数n,m(0<n<1000,0<m<1000)。第二行给出k(0<k<20)以及k个维修点的坐标。第三行给出z(0<z<100)以及z个坐标。第四行给出h(0<h<100)以及h个坐标。保证客户,维修点以及修理管道都在n*m的地图里面。
输出
输出最小的花费。

样例
输入样例 1 
100 100
4 1 1 2 2 3 3 4 4
1 0 0
3 99 99 88 88 77 77
输出样例 1
1008

提示
对于队列的应用,部分数据用bfs也能过。

https://blog.csdn.net/zhongyunde/article/details/100621939

题目描述
王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:
主件	附件
电脑	打印机,扫描仪
书柜	图书
书桌	台灯,文具
工作椅	无
如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有 0 个、 1 个或 2 个附件。附件不再有从属于自己的附件。王强想买的东西很多,为了不超出预算,他把每件物品规定了一个重要度,分为 5 等:用整数 1 ~ 5 表示,第 5 等最重要。他还从因特网上查到了每件物品的价格(都是 10 元的整数倍)。他希望在不超过 N 元(可以等于 N 元)的前提下,使每件物品的价格与重要度的乘积的总和最大。
    设第 j 件物品的价格为 v[j] ,重要度为 w[j] ,共选中了 k 件物品,编号依次为 j 1 , j 2 ,……, j k ,则所求的总和为:
v[j 1 ]*w[j 1 ]+v[j 2 ]*w[j 2 ]+ … +v[j k ]*w[j k ] 。(其中 * 为乘号)
    请你帮助王强设计一个满足要求的购物单。

输入描述:
输入的第 1 行,为两个正整数,用一个空格隔开:N m(其中 N ( <32000 )表示总钱数, m ( <60 )为希望购买物品的个数。)
从第 2 行到第 m+1 行,第 j 行给出了编号为 j-1 的物品的基本数据,每行有 3 个非负整数 v p q(其中 v 表示该物品的价格( v<10000 ), p 表示该物品的重要度( 1 ~ 5 ), q 表示该物品是主件还是附件。如果 q=0 ,表示该物品为主件,如果 q>0 ,表示该物品为附件, q 是所属主件的编号)
 
输出描述:
 输出文件只有一个正整数,为不超过总钱数的物品的价格与重要度乘积的总和的最大值( <200000 )。
示例1
输入
复制
1000 5
800 2 0
400 5 1
300 5 1
400 3 0
500 2 0
输出
复制
2200
  • OJ1964-求解立方根(牛顿迭代法) - https://songlee24.github.io/2015/03/20/hua-wei-OJ1964/
#include <iostream>
#include <iomanip>
using namespace std;
#define E 0.01

double f(double x, double num) // 函数
{
	return x*x*x-num;
}

double _f(double x)  // 导函数
{
	return 3*x*x;
}

double getCubeRoot(double input)
{
	double x0;  
	double r = 1;
	do
	{
		x0 = r;
		r = x0 - f(x0,input)/_f(x0);
	} while(f(r,input) > E || f(r,input) < -E);
	
	return r;
}

int main()
{
	double x;
	cin >> x;
	double result = getCubeRoot(x); 
	cout << fixed << showpoint << setprecision(1) << result << endl;
	return 0;
}

/*-----------------------备用片段---------------------------------------*/

stl自定义排序

set 自定义排序规则

struct custom_compare final
{
    bool operator() (const std::string& left, const std::string& right) const
    {
        int nLeft = atoi(left.c_str());
        int nRight = atoi(right.c_str());
        return nLeft < nRight;
    }
};
 std::set<std::string, custom_compare> sut_custom({"1", "2", "5", "23", "6", "290"},
                                                     custom_compare{}); //< Compare object optional as its default constructible.

map 自定义排序规则的

struct cmpByStringLength {
    bool operator()(const std::string& a, const std::string& b) const {
        return a.length() < b.length();
    }
};

// ...
std::map<std::string, std::string, cmpByStringLength> myMap;

c++11

auto comp = [](const string& a, const string& b) { return a.length() < b.length(); };
map<string, string, decltype(comp)> my_map(comp);


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。