2011年全国软件大赛模拟题及参考答案(Java本科组)

java竞赛经典题目集锦 java竞赛经典题目集锦..积累大量的题目,对你比赛,应聘很有帮助 立即下载

非官方标注答案,如有不妥,请指出。

2011 模拟 java 本科

注意:

本套模拟题主要模拟命题形式与考核范围。真实竞赛题的数量、难度可能与此套模拟题有差异。

说明:

本试卷包含两种题型:“代码填空”与“程序设计”。

填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不多于一条语句(即不能出现分号)。

编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。

 

1.      代码填空(满分2分)

在A B C D E F 六人中随机抽取3人中奖,要求中奖人不能重复。请完善以下代码:

public class MyTest

{

    public static void main(String[] args)

    {

        Vector a = new Vector();

        for(char i='A'; i<='F'; i++)  a.add("" + i);   

        for(int k=0; k<3; k++)

        {

            int d = ____________________________;

 (new Random()).nextInt(a.size());

            System.out.println(a.remove(d));

        }

    }

}

 

2.      代码填空(满分3分)

不同进制的数值间的转换是软件开发中很可能会遇到的常规问题。下面的代码演示了如何把键盘输入的3进制数字转换为十进制。试完善之。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String s = br.readLine();

int n = 0;

for(int i=0; i<s.length(); i++)

{

     char c = s.charAt(i);

     if(c<'0' || c > '2') throw new RuntimeException("Format error");

     n = ______________________; 3*n+(c-'0')

}

System.out.println(n);

3.      代码填空(满分4分)

有如下程序,完成的功能为:找出数组中的最大元素。请填写程序的中空白,使程序运行正确。

 

public class test

{

    public static void main(String[] args) {

        int array[]={0,34,67,90,21,-9,98,1000,-78};

        System.out.println(new test().findMax (array, 0));

    }

    public int findMax(int array[],int index)

    {

        if(array==null || array.length==0)

        {

            return 0;

        }

        int max=array[0];

        if(index<array.length-1)

        {

             max=____________________ findMax(array,index+1);

        }

        if(max<array[index]) max= array[index];

   

        return max;

    }

}

 

4.      代码填空(满分5分)

电视台开宝箱节目:打进电话的人可以开启一个宝箱。箱子中有一件礼品。礼品是iphone的机率为1/12;是mp3 的机率为1/5;是洗衣粉的机率为1/2;剩余是KFC优惠券。

       每次打进电话,宝箱会重置。

       以下程序模拟了该抽奖过程。请填写缺失的部分。

    public static void main(String[] args)

{

        int i = (int) Math.random() * _____________; 60

        if (i < 5) {

            System.out.println("恭喜中了:iphone手机");

        }else if (i < 17) {

            System.out.println("恭喜中了:mp3");

        } else if (i < 47) {

            System.out.println("恭喜中了:洗衣粉");

        } else {

            System.out.println("恭喜中了:KFC优惠券");

        }

    }

 

5.      代码填空(满分6分)

下列代码求出一个二进制串中连续的1或连续的0出现的最大次数。请填缺失代码。

例如:s = “101100111100011”

则返回:4

又例如:s=”0111100000”

则返回:5

public static int getMaxContinuity(String s)

{

        int max_1 = 0; 

        int max_0 = 0;     

        int n_1 = 0;  // 当前1连续的次数

        int n_0 = 0;  // 当前0连续的次数

       

        for(int i=0; i<s.length(); i++)

        {

            if(s.charAt(i)=='0')

            {

                n_0++;

                ________; n_1=0

            }

            else

            {

                n_1++;

                _________; n_0 = 0

            }

           

            if(n_1 > max_1) max_1 = n_1;

            if(n_0 > max_0) max_0 = n_0;

        }

       

        return max_1>max_0? max_1 : max_0);

}

 

6.      代码填空(满分9分)

 

下列代码把16进制表示的串转换为3进制表示的串。试完善之。

例如:x=“5”

则返回:“12”

又例如:x=”F”

则返回:“120”

    private static int getRealValue(char x)

    {

        if(x>='0' && x<='9') return x-'0';

        if(x>='a' && x<='f') return x-'a'+10;

        if(x>='A' && x<='F') return x-'A'+10;

        return 0;

    }

 

    public static String jin_zhi_16_3(String x)

    {

        int n = 0; // 累加真值

        for(int i=0; i<x.length(); i++)

        {

            n = _________ + getRealValue(x.charAt(i));  // 填空 16*n

        }

       

       

        String t = "";

        for(;;)

        {

            if(n==0) break;

            t = (n % 3) + t; 

            _____________;  // 填空 n=n/3

        }

       

        return t;

    }

 

7.      代码设计(满分5分)

625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其它的3位数有这个特征吗?

请编写程序,寻找所有这样的3位数:它的平方的末3位是这个数字本身。

输出结果中,从小到大,每个找到的数字占一行。比如那个625就输出为:

625

public class MyTest {

       public static void main(String[] args) {

              for(int i=100;i<1000;i++){

                     if(i*i%1000 == i){

                            System.out.println(i);

                     }

              }

       }

}

8.      代码设计(满分11分)

 

考虑方程式:a^3 + b^3 = c^3 + d^3

其中:“^”表示乘方。a、b、c、d是互不相同的小于30的正整数。

这个方程有很多解。比如:

a = 1,b=12,c=9,d=10 就是一个解。因为:1的立方加12的立方等于1729,而9的立方加10的立方也等于1729。

当然,a=12,b=1,c=9,d=10 显然也是解。

如果不计abcd交换次序的情况,这算同一个解。

你的任务是:找到所有小于30的不同的正整数解。把a b c d按从小到大排列,用逗号分隔,每个解占用1行。比如,刚才的解输出为:

1,9,10,12

不同解间的顺序可以不考虑。

public class MyTest {

       public static void main(String[] args) {

              for(int a=1;a<=26;a++){

                     for(int b=a+1;b<=27;b++){

                            for(int c=b+1;c<=28;c++){

                                   for(int d=c+1;d<=29;d++){

                                          if(a*a*a+d*d*d==b*b*b+c*c*c){

                                                 System.out.println(a+","+b+","+c+","+d);

                                          }

                                   }

                            }

                     }

              }

       }

}

9.      代码设计(满分18分)

整数的分划问题。

如,对于正整数n=6,可以分划为:

6

5+1

4+2, 4+1+1

3+3, 3+2+1, 3+1+1+1

2+2+2, 2+2+1+1, 2+1+1+1+1

1+1+1+1+1+1+1

现在的问题是,对于给定的正整数n,编写算法打印所有划分。

用户从键盘输入 n (范围1~10)

程序输出该整数的所有划分。

 

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

import java.util.Scanner;

 

public class MyTest {

       public static void main(String[] args) {

              Scanner in = new Scanner(System.in);

              int x = in.nextInt();

              List expressions[] = new List[x];

              for(int i=1;i<=x;i++){

                     if(i==1){

                            expressions[i-1] = new ArrayList();

                            expressions[i-1].add("1");

                     }else{

                            expressions[i-1] = new ArrayList();

                            expressions[i-1].add(String.valueOf(i));

                            //expressions[i-1].add(String.valueOf(i-1)+"+1");

                            for(int j=i-1;j>=i/2;j--){

                                   for(int k=0;k<expressions[j-1].size();k++){

                                          // 原来的表达式

                                          String str1=(String)expressions[j-1].get(k);

                                          // 排序后的表达式

                                          String str2=process(str1+"+"+(i-j));

                                          // 查找是否已经存在

                                          boolean b=false;

                                          for(int kk=0;kk<expressions[i-1].size();kk++){

                                                 if(expressions[i-1].get(kk).toString().equals(str2)){

                                                        b = true;

                                                        break;

                                                 }

                                          }

                                          if(!b){

                                                 expressions[i-1].add(str2);

                                          }

                                   }

                            }

                     }

              }

             

                     Collections.sort(expressions[x-1]);

                     String temp=null;

                     for(int i=expressions[x-1].size()-1;i>=0;i--){

                            String value = expressions[x-1].get(i).toString();

                            if(temp==null){

                                   System.out.print(value);

                                   temp = value.substring(0,1);

                            }else{

                                   if(value.startsWith(temp)){

                                          System.out.print(",");

                                   }else{

                                          System.out.println();

                                          temp = value.substring(0,1);

                                   }

                                   System.out.print(value);

                            }

                     }

             

       }

       /*

        * 调整顺序,例如 3+1+2+1 调整后 3+2+1+1

        */

       static String process(String exp){

              exp = exp.replace("+"," ");

              String str[] = exp.split(" ");

              Arrays.sort(str);

              StringBuffer sb = new StringBuffer();

              for(int i=str.length-1;i>=0;i--){

                     sb.append(str[i]+"+");

              }

              sb.deleteCharAt(sb.length()-1);

              return sb.toString();

       }

      

}

10. 代码设计(满分20分)

一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。

例如:

当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水仙花数(其中,“^”表示乘方,5^3表示5的3次方,也就是立方)。

当N=4时,1634满足条件,因为 1^4 + 6^4 + 3^4 + 4^4 = 1634。

当N=5时,92727满足条件。

实际上,对N的每个取值,可能有多个数字满足条件。

 

程序的任务是:求N=21时,所有满足条件的花朵数。注意:这个整数有21位,它的各个位数字的21次方之和正好等于这个数本身。

如果满足条件的数字不只有一个,请从小到大输出所有符合条件的数字,每个数字占一行。因为这个数字很大,请注意解法时间上的可行性。要求程序在3分钟内运行完毕。

 

import java.math.BigInteger;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Date;

import java.util.List;

 

public class ShuiXianHua {

      

       // 449177399146038697307 9-4 8-1 7-4 6-2 5-0 4-3 3-3 2-  1-2 0-2

       // 128468643043731391252 9-1 8-2 7-1 6-2 5-1 4-3 3-4 2-3 1-3 0-1

       /*

        * 思路:如果从000...000(21个)到99...99(21个)进行遍历,然后看21位数字的21次方之和是否等于这个数字本身,算法需要处理10的21次方,时间肯定不能满足要求

        * 所以要减少遍历的次数,有些数字明显不合适:

        * 考虑:21个1,他们的21次方的和才21,所以肯定不合适,不可能到21位数。

        * 考虑:21个2,2的21次方大概是200万,再乘上21也才4000万,10的7次方,

        * 哪个数字必须出现呢?可以算一下,使用下面的test方法测试。从结果可以看出如果21位数字中不包含8和9是没有办法组成21数字的,如果没有9则最少需要11个8,分这些情况考虑就可以了。

        */

       public static void main(String[] args) {

              //System.out.print(BigInteger.valueOf(10).pow(50).divide(BigInteger.valueOf(200)));

              long l1 = System.nanoTime();

              Date d1 = new Date();

              // test();

              List<State> allStates = new ArrayList<State>();

              // 考虑9的情况

              for(int i=1;i<=9;i++){

                     State newState = new State();

                     newState.sum = State.a21[9].multiply(BigInteger.valueOf(i));

                     newState.count = new int[11];

                     // Arrays.fill(newState.count,0);

                     newState.count[9] = i;

                     newState.count[10] = i;

                     newState.index = 8;

                     allStates.add(newState);

              }

              // 考虑8的情况

              for(int i=10;i<=21;i++){

                     State newState = new State();

                     newState.sum = State.a21[8].multiply(BigInteger.valueOf(i));

                     newState.count = new int[11];

                     // Arrays.fill(newState.count,0);

                     newState.count[8] = i;

                     newState.count[10] = i;

                     newState.index = 7;

                     allStates.add(newState);

              }

              while(allStates.size()>0){

                     State tempState = allStates.get(allStates.size()-1);

//                   if(tempState.count[9]==4 && tempState.count[8]==1 &&tempState.count[7]==4

//                                 && tempState.count[6]==2&& tempState.count[5]==0&& tempState.count[4]==3

//                                 && tempState.count[3]==3){

//                          System.out.println("true");

//                   }

                     // System.out.println(allStates.size()+"-----"+tempState.index);

                     if(check(tempState)){

                            List<State> tt = tempState.nextState();

                            allStates.remove(allStates.size()-1);

                            allStates.addAll(tt);

                     }else{

                            allStates.remove(allStates.size()-1);

                     }

              }

              Date d2 = new Date();

              long l2 = System.nanoTime();

              System.out.println((d2.getTime()-d1.getTime()));

              System.out.println((l2-l1)/1000);

       }

      

       // 需要继续处理返回true,否则返回false

       public static boolean check(State state){

              if(state.count[10]>21){

                     return false;

              }

              if(state.count[10] == 21){

                     String result = state.sum.toString();

                     if(result.length()!=21)

                            return false;

                     int tempCount[] = new int[10];

                     // Arrays.fill(tempCount,0);

                     for(int i=0;i<21;i++){

                            tempCount[result.charAt(i)-'0'] = tempCount[result.charAt(i)-'0']+1;

                     }

                     for(int i=0;i<10;i++){

                            if(tempCount[i]!=state.count[i]){ // 错误解

                                   return false;

                            }

                     }

                     System.out.println(result);

                     return false;

              }

 

              return true;

       }

      

       public static void test(){

              BigInteger max = BigInteger.valueOf(10).pow(21).subtract(BigInteger.valueOf(1));

              BigInteger min = BigInteger.valueOf(10).pow(20);

              for(int i=1;i<10;i++){

                     BigInteger temp = BigInteger.valueOf(i).pow(21);

                     int count1 = max.divide(temp).intValue();

                     int count2 = min.subtract(BigInteger.valueOf(1)).divide(temp).intValue()+1;

                     System.out.println(i+":最多需要"+count1+"个,最少需要"+count2+"个");

              }

       }

       /*

        * 运行结果:

        *

1:最多需要-559939585个,最少需要1661992960个

2:最多需要1299066612个,最少需要988900121个

3:最多需要1109785847个,最少需要969972044个

4:最多需要227373675个,最少需要22737368个

5:最多需要2097151个,最少需要209716个

6:最多需要45585个,最少需要4559个

7:最多需要1790个,最少需要180个

8:最多需要108个,最少需要11个

9:最多需要9个,最少需要1个

        */

      

      

}

// 先考虑9,然后考虑8,然后...,state是中间的一个临时情况

class State{

       // 最大值和最小值

       static BigInteger max = BigInteger.valueOf(10).pow(21).subtract(BigInteger.valueOf(1));

       // 记录0..9的21次方

       static BigInteger a21[] = new BigInteger[10];

       static{

              for(int i=0;i<10;i++){

                     a21[i] = BigInteger.valueOf(i).pow(21);

              }

       }

      

       // 记录各位数字的21次方的和

       BigInteger sum ;

       // 记录各位数字出现的次数,最后一个单元记录所有的数字的个数

       int count[] = new int[11];

       // 记录需要处理的数字,从9开始处理到0

       int index;

 

       // 根据当前情况,考虑下一层可能的情况,例如9个9的情况下,8有哪些可能

       List<State> nextState(){

              List<State> states = new ArrayList<State>();

              if(index==0){

                     State newState = new State();

                     newState.sum = sum.add(BigInteger.valueOf(0));

                     newState.count = Arrays.copyOf(count,11);

                     newState.count[index] = 21-newState.count[10];

                     newState.count[10] = 21;

                     newState.index = -1;

                     states.add(newState);

                     return states;

              }

              int maxCount = max.subtract(sum).divide(a21[index]).intValue();

              if(maxCount>21-count[10] || maxCount<0){

                     maxCount = 21-count[10];

              }

              // int maxCount = 21-count[10];

              // 创建可能的情况

              for(int i=0;i<maxCount;i++){

//                   if(a21[index].multiply(BigInteger.valueOf(i)).add(sum).compareTo(max)==1)

//                          continue;

                     State newState = new State();

                     newState.sum = sum.add(a21[index].multiply(BigInteger.valueOf(i)));

                     newState.count = Arrays.copyOf(count,11);

                     newState.count[index] = newState.count[index]+i;

                     newState.count[10] = newState.count[10]+i;

                     newState.index = index-1;

                     process(newState);

                     states.add(newState);

              }

              return states;

       }

      

       /*

        * 为了提高效率,如果不处理,运行时间能够增加6、7倍。

        */

       static void process(State state){

              if(state.index<9){

                     BigInteger maxSum=state.sum.add(State.a21[state.index].multiply(BigInteger.valueOf(21-state.count[10])));

                     String result = state.sum.toString();

                     String maxResult = maxSum.toString();

                     int tempCount[] = new int[10];

                     // Arrays.fill(tempCount,0);

                     if(result.length()==maxResult.length()){

                            for(int i=0;i<result.length();i++){

                                   char c1=result.charAt(i);

                                   char c2=maxResult.charAt(i);

                                   if(c1-c2==0){

                                          tempCount[c1-'0']=tempCount[c1-'0']+1;

                                   }else{

                                          break;

                                   }

                            }

                            for(int i=0;i<=state.index;i++){

                                   int sub = tempCount[i]-state.count[i];

                                   if(sub>0){

                                          state.sum = state.sum.add(State.a21[i].multiply(BigInteger.valueOf(sub)));

                                          state.count[i] = state.count[i]+sub;

                                          state.count[10] = state.count[10]+sub;

                                   }

                            }

                     }

              }

       }

}

我的笔记本(09年)上运行时间小于3秒,台式机(06年)不到7秒,使用递归,代码能够写的更少一些。

 

2011软件大赛JAVA模拟试题答案 这个是2011年JAVA本科组模拟试题,答案非官方所给,希望好友们自己参考 立即下载

相关推荐

竞赛java编程题50题(有答案)

JAVA编程,50到对你很有帮助的题,包含了java所学的所有知识点,值得一看

洛谷日报索引

2022 年洛谷日报索引 2月 #383 [159号程序员] CSP初赛知识点梳理 https://www.luogu.com.cn/blog/334586/csp-pre-knowledge #382 [xtx1092515503] 群论学习笔记 https://www.luogu.com.cn/blog/Troverld/qun-lun-xue-xi-bi-ji #381 [Alpha1022] 浅谈集合幂级数 https://www.luogu.com.cn/blog/your-alpha1022/q

王俊吉的博客 12万+

稍微有点难度的10道java面试题,你会几道?

稍微有点难度的10道java面试题,你会几道?

全国软件大赛填空题--在A B C D E F 六人中随机抽取3人中奖

代码填空(满分2分) 在A B C D E F六人中随机抽取3人中奖,要求中奖人不能重复。请完善以下代码: public class MyTest {     publicstatic void main(String[] args)     {         Vector a= new Vector();         for(chari='A'; i         for

jchbms128的专栏 2381

WorkBuddy 集成 飞书CLI,全程10分钟,丝滑无比,老板要注意了...

飞书CLI实测:10分钟实现AI操控飞书办公 飞书CLI作为命令行工具,让用户通过简单命令完成飞书各项操作。本文记录了从安装到使用的完整过程:一键安装仅需10分钟,支持200多条命令覆盖飞书全部功能,与AI结合后可实现自然语言办公。实测中成功用语音指令创建了7天发文计划日程,验证了其便捷性。虽然首次认证存在超时问题,但整体体验流畅。该工具将复杂操作简化为自然语言指令,大幅提升办公效率,特别适合需要频繁使用飞书的用户。后续还将探索更多自动化办公场景。

三棱球的专栏 1144

S32K314 EB配置MCAL全模块讲解【Autosar——1 MCU模块详解】持续更新中

FIRC(fast internal RC Oscillator) :高速内部时钟,固定48MHZ;SIRC(Slow Internal RC Oscillator):低速内部时钟,固定32KHZ;FXOSC(Fast Crystal Oscillator Digital Controller):高速外部晶振(8-40MHZ),根据原理图选型进行配置;SXOSC():外部低速外部时钟,固定输入32.768KHZ;PLL_PHIn_CLK:时钟倍频锁相环时钟范围(640-1280MHZ);

qq_40488886的博客 1786

2011年全国软件大赛模拟题及参考答案(Java高职组)

这是2011年全国软件大赛的模拟题,为了给学生讲,写了一份答案,可能有考虑不周的地方,如有不妥,请指正,谢谢。

李绪成的一亩三分地 7308

【VoxCPM2】在Windows上从零搭建VoxCPM2 语音生成和语音克隆AI算法

建议你了解清楚VoxCPM2,再来考虑是否需要自己在本地搭建。

AnChenliang_1002的博客 760

蓝桥杯2011 模拟 java 本科

1.   2011 模拟 java 本科 (本试题来源于网上,下载时没有答案,基本都是自己做的答案,部分答案来源网上,才初学浅,有不足的地方,还请及时告知!网名:叫我雷锋 QQ1345523590)   (试题难度比较大,在做的过程中不要忙于看答案的思想,衣服要自己琢磨透题目的是啥意思,如果你没看答案做出来了,要经过多次的验证,再去比较答案,看是否一样。) 注意: 本套模拟题主要模拟命题

挨踢界小人物 630

从一个 ASIN 看透亚马逊:商品模型背后的增长飞轮

在亚马逊电商体系中,每件商品背后都有一套严密的商品建模逻辑。本篇文章以“ASIN 的一生”为线索,系统拆解了亚马逊的商品模型:从飞轮战略出发,剖析 SDP(Single Detail Page)机制如何实现标准化展示;再到 ASIN 编码、父子变体结构与 Offer 分离模型,逐层解析商品信息如何被建构、聚合与呈现。通过图解与案例,文章帮助读者理解商品建品流程、同款聚合原则、价格控制机制等核心逻辑,避免常见运营误区,是一份面向运营、产品、技术人员的实用参考指南。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 13万+

【算法】克里金kriging参数值预测模型

模型中特征值2个,目标值1个,data数据集如图所示。搭建kriging参数值预测模型。

weixin_48618536的博客 5060

java比赛题目

比赛中的一些题目,记录一下 1.如下代码: byte[] array1,array2[]; byte array3[][]; int[][] array4; 假设每个数组都已经被正确初始化了,下面哪个语句会产生编译错误? A array2 = array1; B array2 = array3; C array2 = array4; 2. import java.util.*;

wyc的专栏 1792

Serdes之什么是(CDR)?

光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。目前市场上大多数收发器都没有专用的时钟输入,因此时钟恢复和数据重新定时等功能是在收发器外部(即在主板上)进行的。接收端则需要恢复时钟以采样串行线上的数据。为了实现这一点,接收端需要一个与输入数据频率大致相同的时钟。通过使参考时钟与输入数据信号的跳变相位对齐,可以生成一个恢复的时钟。这被称为时钟恢复。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 2392

61.蓝桥杯之电视台开宝箱节目

电视台开宝箱节目:打进电话的人可以开启一个宝箱。箱子中有一件礼品。礼品是iphone的机率为1/12;是mp3 的机率为1/5;是洗衣粉的机率为1/2;剩余是KFC优惠券。 每次打进电话,宝箱会重置。 以下程序模拟了该抽奖过程。请填写缺失的部分。 public static void main(String[] args) { int i = (int) (Math.random() * _...

sword_anyone的博客 349

AUTOSAR-SOMEIP配置总结

导入arxml之后someip信号一般以“pduSomeIp”开头或者“SomeIp”开头。以某个pdu为例,设置项“Pdu Default Partition Ref”主要是根据模块设计,配置相应的Ecuc核分区。在导入arxml之后someip信号中有三个特殊的信号,形如“SdInstance”开头的信号,设置项“Pdu Default Partition Ref”主要是根据模块设计,配置相应的Ecuc核分区。“EcuC”模块主要关注“EcucPduCollection”中的“Pdus”下面的配置。

xiandang8023的博客 4656

[Dify] 【实战笔记】优化 Excel 电话簿类知识库检索效果的实战技巧

摘要:文章分析了Dify知识库在处理Excel结构化数据(如电话簿)时出现的检索异常问题,发现主要原因是默认召回多条记录且缺乏精准匹配机制。提出两个核心解决方案:1)优化知识库召回参数,包括调整TopK值、提高关键词权重等;2)设计精准提示词模板,明确约束模型行为范围。通过对比测试验证了优化效果,并给出进阶建议如数据格式转换、输出格式化等。最后针对知识检索类AI应用提供了场景适配建议。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 369

625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其它的3位数有这个特征吗?

题目信息:625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其它的3位数有这个特征吗? 蓝桥杯的一个填空题目 #include using namespace std; void zishou(int min,int max) { int n,i,j,sum; for(i=min;i<=max;i++) { n=i; su

Kamy Shi 8199

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

64.蓝桥杯之随机3人中奖

在A B C D E F 六人中随机抽取3人中奖,要求中奖人不能重复。请完善以下代码: public class MyTest { public static void main(String[] args) { Vector a = new Vector(); for(char i='A'; i<='F'; i++) a.add("" + i); for(int k=...

sword_anyone的博客 391

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[艾兰岛][Ylands]从0开始学游戏开发_12.神秘宝箱

这次的实战分享,来自于国外大神做的神秘宝箱特效,废话不多说,直接上视频~ https://tieba.baidu.com/p/6144470398 具体的实现逻辑是依靠新版本的新功能,在玩家移动的过程中,制作不同的粒子效果围绕在宝箱身边,形成不同的特效。 有任何问题欢迎加群讨论~ ...

杰夫的博客 325

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 2011年全国软件大赛模拟题及参考答案(Java高职组)
下一篇: 新书《Java EE实用教程——基于WebLogic和Eclipse(第2版)》目录
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值