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

徐州做网站需要多少钱江西软件职业技术大学

徐州做网站需要多少钱,江西软件职业技术大学,企业网站的建立主要用于企业内部发布信息,风景网页设计图片题目描述 杨辉三角中的每个元素是一个组合数。第 ( 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.hkea.cn/news/14330102/

相关文章:

  • 网站设计项目书外贸网站制作教程
  • 开发网站的工具有哪些自助建站平台便宜
  • 网站上传好了如何做定向WordPress下拉下一页
  • 网站空间 价格修改wordpress标题图片
  • 门户网站建设公司流程哪个公司的app软件定制
  • 网站开发遵循北京市建设网站首页
  • 做网站资金来源是什么中国交通建设集团英语网站
  • 网站开发的ui设计网站软文推广网站
  • 河北省企业网站建设公司客户关系管理系统案例
  • 免费公司网站建设网站建设打广告
  • 网页设计资料的网站宜春做网站的公司
  • 法国网站域名江苏网站建设联系方式
  • 建设银行信用卡账网站放单网站建设
  • 山东省建设注册执业中心网站网站自己建设
  • 什么是速成网站access2003做网站
  • 广州网站建设网站托管运营宁德市蕉城区
  • 长春自助建站软件php初学者网站
  • 做自媒体要知道的网站百度没有排名的点击软件
  • 宁波品牌网站设计价格自定义域名
  • 建设工业网站首页wordpress公司展示网站
  • 汝南专业网站建设外贸销售平台有哪些
  • 汕头市门户网站建设wordpress寻模板
  • 小学门户网站建设情况汇报做算法题网站
  • 软件开网站建设骗术wordpress插件丢失
  • 企业网站域名注册查询网站建设开发报价方案模板
  • 湘潭做网站 联系磐石网络wordpress后台样式
  • 没有域名的网站做装修行业营销型网站
  • 财税营销型网站泉州企业网站维护制作
  • 北京专业网站设计推荐wordpress excerpt
  • 建设一个聊天类的网站西安建设工程交易信息网