当前位置: 首页 > wzjs >正文

物流网站公司中央人民政府网

物流网站公司,中央人民政府网,建程网会员,电商网店代运营基础知识点 题 1.互质 - 蓝桥云课 import java.util.*;public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);long n 2023L;// 陶吉吉:欧拉~ 最近还好吗~~ oula~~ 怎么不说话~// 欧拉函数:从1 到 n 有…
基础知识点 
1.互质 - 蓝桥云课

import java.util.*;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);long n = 2023L;// 陶吉吉:欧拉~ 最近还好吗~~ oula~~ 怎么不说话~// 欧拉函数:从1 到 n 有多少个与 n 互质的数字long cnt = n;for(long i = 2; i*i <= n; i++) {if(n % i == 0) {while(n % i == 0) {n /= i;}cnt -= cnt/i;}// n本身就是一个质数if(n > 1) {cnt -= cnt/n;}}long a = 2023L; long b = 2022L;long np = 1L;long final MOD = 10000000007;a %= MOD;while(b > 0) { if( (b&1) == 1) {np = np*a % MOD;}b = b*b % MOD;b >>= 1;}System.out.println(np*cnt);scan.close();}
}

 首先是这个欧拉函数,要知道欧拉函数 φ(n)是求从1到n有多少个数与n互质的。

  • 如果 n 是质数,φ(n) = n-1
  • 如果 n = p^k(p是质数),φ(n) = φ(p^k) = p^(k-1) * p-1 = p^(k-1) * φ(p)
  • 对于任意正整数,φ(ab) = φ(a)φ(b) (当a和b互质时)

φ(2023^2023) = 2023^2022 * φ(2023)

所以这题就是一个欧拉函数和快速幂的结合问题

欧拉函数模板

static void oula(long n) {long res = n;for(long i = 2; i*i <= n; i++) {if(n % i == 0) {// 去除所有 i 因子 就是 i 可以被 n 整除的数字。while(n % i == 0) {n /= i;}// res/i表示哪些能被i整除的数的数量,因为这些数与 n 不互质// 我们从总数 res 中减去这些数,剩下的就是与 n 互质的数。res -= res/i;}}// 除了1以外,没有数字可以整除 n,说明数字 n 本身就是应该一个质数if(n > 1) {res -= res/n;}System.out.println(res);
}

快速幂模板

// 计算a^b
// 如果想让MOD不起作用,传入Long.MAX_VALUE
static void quickPow(long a, long b, long MOD) {long res = 1L;a %= MOD;while(b > 0) {if( (b&1) == 1) {res = res * a % MOD;}a = a*a % MOD;b >>= 1;}System.out.println(res);
}    
2.玩具 - 蓝桥云课

import java.util.*;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();int m = n*2;int[] nums = new int[m];for(int i = 0; i < m; i++) {nums[i] = scan.nextInt();}long res = 0L;    for(int i = 0; i < m; i++, m--) {res += nums[i] * nums[m-1];}System.out.println(res);scan.close();}
}

这段代码的核心思想是一种贪心的想法。所有玩具零件重量排序后,最轻的与最重的一起,第二轻的与第二重的一起。因为大的数与大的数相乘会很大,所以让最大的数和最小的数字相乘,会是最最小的。

记得nums是整型数组,与res 进行运算的时候记得转换单位。

3.逆元 - 蓝桥云课

 就是一个理解逆元,其实还是不是很理解。。。

4.不完整的算式 - 蓝桥云课

package com.lanqiao;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String input = scan.next();String[] parts = input.split("=");String left = parts[0];String c = parts[1];int opPos = -1;char op = '?';for(int i = 0; i < left.length(); i++) {char ch = left.charAt(i);if(ch == '+' || ch == '-'|| ch == '/' || ch == '*') {opPos = i;op = ch;break;}}String a = opPos!=-1 ? left.substring(0, opPos) : "?";String b = opPos!=-1 ? left.substring(opPos+1, left.length()) : "?";// 如果是op 被擦掉if(opPos == -1) {int t = left.indexOf('?');// 是在左边if(t != -1) {a = left.substring(0, t);b = left.substring(t+1, left.length());}}// 如果是 c 被擦掉if(c.equals("?")) {int aNum = Integer.valueOf(a);int bNum = Integer.valueOf(b);int cNum = 0;switch(op) {case '+': cNum = aNum + bNum; break;case '-': cNum = aNum - bNum; break;case '*': cNum = aNum * bNum; break;case '/': cNum = aNum / bNum; break;}System.out.println(cNum);}else if(b.equals("?")) {int aNum = Integer.valueOf(a);int cNum = Integer.valueOf(c);int bNum = 0;switch(op) {case '+': bNum = cNum - aNum; break;case '-': bNum = cNum + aNum; break;case '*': bNum = cNum / aNum; break;case '/': bNum = aNum / cNum; break;}System.out.println(bNum);}else if(a.equals("?")) {int bNum = Integer.valueOf(b);int cNum = Integer.valueOf(c);int aNum = 0;switch(op) {case '+': aNum = cNum - bNum; break;case '-': aNum = cNum + bNum; break;case '*': aNum = cNum / bNum; break;case '/': aNum = cNum * bNum; break;}System.out.println(aNum);}else if(op == '?') {int aNum = Integer.valueOf(a);int cNum = Integer.valueOf(c);int bNum = Integer.valueOf(b);if(aNum + bNum == cNum) {System.out.println("+");}else if(aNum - bNum == cNum) {System.out.println("-");}else if(aNum * bNum == cNum) {System.out.println("*");}else if(aNum / bNum == cNum) {System.out.println("/");}}scan.close();}
}

 这个其实就是把逻辑理清楚

首先这个等式分为两个部分,等号左边和等号右边

在左边查找运算符的位置,如果等式左边不含有运算符,说明是运算符被擦掉了,如果是运算符被擦掉,那么就根据问号的位置重新分割出a和b

如果等式左边含有运算符,那么就根据运算符位置来分割a,b

5.星球 - 蓝桥云课

import java.util.*;public class Main {static double[][] dist;static int[] w;static Double[][] memo;public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();int[][] coords = new int[n][3];w = new int[n];for(int i = 0; i < n; i++) {coords[i][0] = scan.nextInt();coords[i][1] = scan.nextInt();coords[i][2] = scan.nextInt();w[i] = scan.nextInt();}// 预计算所有星球的距离dist = new double[n][n];for(int i = 0; i < n; i++) {for(int j = 0; j < n; j++) {if(i != j) {int dx = coords[i][0] - coords[j][0];int dy = coords[i][1] - coords[j][1];int dz = coords[i][2] - coords[j][2];dist[i][j] = Math.sqrt(dx*dx + dy*dy + dz*dz);}}}// 初始化记忆数组memo = new Double[n][1<<n];// 尝试每个起点,取最小值double minEnergy = Double.MAX_VALUE;for(int start = 0; start < n; start++) {double energy = tsp(start, 1 << start);minEnergy = Marh.min(minEnergy, energy);}System.out.printf("%/2f", minEnergy);}static double tsp(int pos, int mask) {if(mask == (1 << w.length) - 1) {return }}
}

http://www.dtcms.com/wzjs/501762.html

相关文章:

  • 深圳专业网站建设多少钱上海网站建设哪家好
  • 网页制作专业用语青岛网站关键词优化公司
  • 电商网站seo怎么做太原百度推广排名优化
  • 网站平面图要怎么做seo的优化原理
  • v9双语版网站怎么做抖音推广网站
  • 网站建设素材包网络广告代理
  • 省政府网站管理与建设方案品牌型网站设计推荐
  • 网站建设手机站域名解析
  • 企业网站制作费做分录举一个网络营销的例子
  • 个人网站要怎么做军事最新消息
  • 陕西省城乡住房和建设厅网站鼓楼网页seo搜索引擎优化
  • 网站开发需求分析文档百度推广投诉电话
  • 济南做网站找大标可以看任何网站的浏览器
  • 线上推广渠道和方式百度小程序对网站seo
  • 武汉做网站seo广州市疫情最新情况
  • 网站建设管理情况说明微信营销技巧
  • 学网站建设前途网络营销策略的制定
  • 商丘企业做网站网络营销和电子商务区别
  • 做像百姓网这样网站多少钱百度提交网站入口
  • 承装承修承试材料在哪个网站做seo搜索引擎优化是什么
  • 江西省建设监理网站b站推出的短视频app哪个好
  • 上海网站建设市场分析小企业广告投放平台
  • app免费开发平台有哪些windows7系统优化工具
  • 网站建设做网站好吗中国十大电商平台有哪些
  • 怎么样做兼职网站app定制开发
  • 住房和城乡建设部主网站痘痘怎么去除有效果
  • 做网站公司的商标需要注册吗百分百营销软件
  • 企业做网站有什么用bilibili推广网站
  • 福安市住房和城乡建设网站今日时政新闻热点
  • 企业网站推广湖南岚鸿推广中国互联网公司排名