内容发布更新时间 : 2024/12/23 8:34:44星期一 下面是文章的全部内容请认真阅读。
系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。 输入格式
一行,为导弹依次飞来的高度 输出格式
两行,分别是最多能拦截的导弹数与要拦截所有导弹最少要配备的系统数 样例输入
389 207 155 300 299 170 158 65 样例输出 6 2
参考代码: import .*; import .*;
public class Main {
public static void main(String args[]) throws IOException{
BufferedReader bf=new BufferedReader(new InputStreamReader); String s=(); String[] ss=(\ int[] numa=new int[]; int[] numb=new int[]; int[] numc=new int[];
for(int i=0;i<;i++){
numa[i]=(ss[i]); numb[i]=1; numc[i]=1;
}
} int a1=; int a2=;
for(int i=0;i<;i++){ }
for(int i=0;i<;i++){ }
}
for(int j=0;j
a2=(a2, numc[i]);
if(numa[i]>numa[j]&&numc[i] numc[i]=numc[j]+1; for(int j=0;j if(numa[i] a1=(a1, numb[i]); numb[i]=numb[j]+1; 编号:ALGO-14 题目:回文数 关键字:模拟 高精度计算 类型:vip试题 问题描述: 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。 又如:对于10进制数87: STEP1:87+78 = 165 STEP2:165+561 = 726 STEP3:726+627 = 1353 STEP4:1353+3531 = 4884 在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。 写一个程序,给定一个N(2<=N<=10或N=16)进制数M(其中16进制数字为0-9与A-F),求最少经过几步可以得到回文数。 如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible!” 输入格式 两行,N与M 输出格式 如果能在30步以内得到回文数,输出“STEP=xx”(不含引号),其中xx是步数;否则输出一行”Impossible!”(不含引号) 样例输入 9 87 样例输出 STEP=6 参考代码: import class Main { long sum = a + b; String str = \ count++; if (count > 30) { } \ return; private static void func(long a, long b) { } if (a == b) \ long a = (m, n); long b = (new StringBuilder(m).reverse().toString(), n); n = ()); String m = (); BufferedReader br = new BufferedReader(new InputStreamReader); public static void main(String[] args) throws IOException { private static int n, count; else func(a, b); } while (sum >= n) { long tmp = sum % n; sum /= n; if (tmp >= 10) str = (char) (55 + tmp) + str; else str = tmp + str; } if (sum >= 10) str = (char) (55 + sum) + str; else str = sum + str; } String reverse = new StringBuilder(str).reverse().toString(); if (!(reverse)) { a = (str, n); b = (reverse, n); func(a, b); } else { } \ return; 编号:ALGO-15 题目:旅行家的预算