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

h5制作哪个网站好网络建设流程

h5制作哪个网站好,网络建设流程,做ppt的动图下载哪些网站,网站建设外包项目题目描述 杨辉三角中的每个元素是一个组合数。第 ( i ) 行的第 ( j ) 个元素表示组合数 ( C(i, j) ) #xff0c;即从 ( i ) 个元素中选 ( j ) 个元素的组合方式。已知一个正整数 ( N )#xff0c;要求在杨辉三角中找到这个数#xff0c;并输出它在杨辉三角中的具体位置。位…题目描述 杨辉三角中的每个元素是一个组合数。第 ( i ) 行的第 ( j ) 个元素表示组合数 ( C(i, j) ) 即从 ( i ) 个元素中选 ( j ) 个元素的组合方式。已知一个正整数 ( N )要求在杨辉三角中找到这个数并输出它在杨辉三角中的具体位置。位置可以以第几行第几个元素的形式给出或者将整个杨辉三角按顺序展开输出 ( N ) 是展开后的第几个数。 输入 一个整数 ( N )  输出 输出整数 ( N ) 在杨辉三角中对应的位置形式为第几行的第几列或者杨辉三角中的第几个元素。 解法一逐项递推法 逐项递推法通过逐行计算杨辉三角中的所有组合数直到找到目标数 ( N )。它直接从杨辉三角的第 0 行开始依次计算每一行的组合数。 代码 import java.util.Scanner;public class FindInPascalTriangleByIteration {public static void main(String[] args) {// 读取输入的目标数 NScanner scanner new Scanner(System.in);int N scanner.nextInt();scanner.close();// 初始化位置计数第0行第0列对应的位置为1int position 1;// 遍历杨辉三角的每一行for (int i 0; ; i) {// 初始化当前行的第一个组合数C(i, 0) 1long result 1;// 遍历当前行的每一个元素 (即计算 C(i, j) 的值)for (int j 0; j i; j) {// 如果找到目标数N则输出当前行和列的位置并结束程序if (result N) {System.out.println(i j); // 输出行号i和列号jreturn; // 结束程序}// 更新位置计数表示组合数在杨辉三角中的顺序position;// 计算下一个组合数C(i, j1) 使用递推公式// result C(i, j) C(i, j-1) * (i - j) / (j 1)if (j i) {result result * (i - j) / (j 1);}}}} }解法二二分查找法 二分查找法利用了组合数在每一行中先递增后递减的特性可以对每一行中的组合数进行二分查找快速定位目标数 ( N )。 代码 import java.util.Scanner;public class FindInPascalTriangleByBinarySearch {public static void main(String[] args) {// 读取输入的目标数 NScanner scanner new Scanner(System.in);int N scanner.nextInt();scanner.close();// 初始化位置计数int position 1; // 从第一元素开始计数// 遍历杨辉三角的行数for (int i 0; ; i) {// 如果这一行的中间最大值都比 N 小则跳过这一行if (comb(i, i / 2) N) {position i 1; // 更新跳过的元素位置continue;}// 在这一行中使用二分查找来查找目标数 Nint left 0;int right i / 2; // 只需要在行的左半部分查找while (left right) {int mid left (right - left) / 2;int value comb(i, mid); // 计算组合数 C(i, mid)if (value N) {System.out.println(i mid); // 输出行号 i 和列号 midreturn; // 结束程序} else if (value N) {left mid 1; // 在右半部分继续查找} else {right mid - 1; // 在左半部分继续查找}}// 如果当前行没有找到目标数更新位置计数position i 1;}}// 计算组合数 C(i, j)private static int comb(int i, int j) {long result 1;for (int k 0; k j; k) {result result * (i - k) / (k 1); // 递推公式计算 C(i, j)}return (int) result; // 返回组合数值} }总结 逐项递推法适合处理较小的数据量计算较为直观但当杨辉三角行数较大时效率较低。 二分查找法利用组合数的单调性显著提高查找效率适合处理较大的数据范围。 这两种解法在不同场景下都可以使用二分查找法尤其适合大规模数据下的查找问题。
http://www.w-s-a.com/news/905410/

相关文章:

  • 免费推广网站途径有哪些郑州企业型网站建设
  • wap网站建设设计wordpress首页名称
  • wordpress网站换空间南宁网站设计可以找我
  • 期货贵金属网站建设招远网站建设哪家专业
  • 上海网站排名个人网站可以做百度推广
  • 网站主题及样式优化个人网站 可以做论坛吗
  • 中企动力 网站推广一级域名免费申请
  • 山东专业的网站建设博罗做网站哪家强
  • 手机网站支持微信支付吗宝塔如何添加ip域名做网站
  • 什么专业学网站建设企业合同管理系统
  • 我要啦免费统计怎么做网站销售订单管理系统软件
  • 门户网站建设教程更改wordpress端口
  • 普兰店网站建设公司云计算培训
  • 网站建设的网络技术app下载平台哪个好
  • 中国建筑人才网是什么网站导购网站制作
  • 网站建设开票东莞龙岗网站建设
  • 17网站一起做网批最近湘潭的新闻
  • 专业网站设计专业服务网站news怎么做
  • 杭州租房网站建设设计网站架构
  • 安徽做网站公司哪家好建设网站需要什么内容
  • 哪些网络公司可以做机票预订网站网站新闻后台怎么做
  • 微网站 域名企业网站怎么做推广
  • 兴安盟住房和城乡建设部网站在国外做网站
  • 南雄市建设局网站搜索关键词的方法
  • 网站建设维护工作经验深圳定制展会
  • 新闻类网站备案WordPress评论昵称显示错误
  • 如何建立一个个人网站自己做一个购物网站
  • 吴忠网站建设公司中国建筑股份有限公司 官网
  • 深圳电商网站开发公司page list wordpress
  • 长安外贸网站建设顺德区网站设计建设企业