算法大赛试题集合 联系客服

发布时间 : 星期一 文章算法大赛试题集合更新完毕开始阅读8f3162a7b0717fd5360cdcd3

package test;

import java.util.Arrays; import java.util.Scanner;

/*验证卡布列克常数,对于一个四位数N,进行下列运算:(1)将组成该四位数的4个数字由大到小排列,形成由这4个数字组成的最大的四位数;

(2)将组成该四位数的4个数字由小到大排列,形成由这4个数字组成的最小的四位数(如果高位为0则取得的数不足4位); (3)求两个数的差,得到一个新的四位数(高位0保留),称为对N进行了一次卡布列克运算。有这样的规律:

对一个各位数字不全相同的四位数重复进行若干次卡布列克运算,最后得到的结果总是6174。这个数被称为卡布列克常数。N从键盘输入。

输出每一次的卡布列克运算及得到6174时的运算次数。*/ public class Test11 { private static int count = 0;

public static void main(String[] args) { Scanner sc = new Scanner(System.in);

System.out.println(\请输入一个不完全相同的四位数\String str = sc.nextLine(); char c1[] = str.toCharArray();

verify(c1);

Arrays.sort(c1);

String strMin = String.copyValueOf(c1); String strMax = \

for (int i = c1.length - 1; i >= 0; i--) { strMax = strMax + c1[i]; }

// System.out.println(strMax+\int max = Integer.parseInt(strMax); int min = Integer.parseInt(strMin);

System.out.println(\ kablk(strMax, strMin); }

public static void verify(char[] c) { if (c.length < 4 || c.length > 4) {

System.out.println(\长度不符合要求\

System.exit(0);

}

boolean flag = true;

for (int i = 0; i < c.length - 1; i++) { if (c[i] != c[i + 1]) { flag = false; break; } }

if (flag) {

System.out.println(\四位数完全相等\} }

public static void kablk(String strMax, String strMin) { count++;

int max = Integer.parseInt(strMax); int min = Integer.parseInt(strMin); int temp = max - min; if (temp == 6174) {

System.out.println(\

} else if (temp > 0) {

char c1[] = String.valueOf(temp).toCharArray(); Arrays.sort(c1);

strMin = String.copyValueOf(c1); for (int i = c1.length ; i < 4; i++) { strMin = \}

c1 = strMin.toCharArray(); // System.out.println(c1);

min = Integer.parseInt(strMin); strMax = \

for (int i = c1.length - 1; i >= 0; i--) { strMax = strMax + c1[i]; // System.out.println(c1[i]); }

max = Integer.parseInt(strMax); kablk(strMax, strMin);

System.out.println(\ } else { return; }

} }

编一程序,从键盘输入数字R,计算机自动检查在下列算式的“()”中能否填上“+”或“-”号凑成相应的等式。如能凑成,则打印出这些算式。如不能则打印“NO ANSWER”。

1( )2( )3( )4( )5( )6( )7( )8( )9=R

“百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只?与之相似,有\鸡兔同笼\问题。

判断一字符串是否是回文数,如121、12321、ABA等(字符串输入时以‘.’结束)。 如输入:12321. 输出:yes

找数。一个三位数,各位数字互不相同,十位数字比个位、百位数字之和还要大,且十位、百位数字之和不是质数。编程找出所有符合条件的三位数。

注:1. 不能手算后直接打印结果。

2. “质数”即“素数”,是指除1和自身外,再没有其它因数的大于1的自然数。

选人。一个小组共五人,分别为A、B、C、D、E。现有一项任务,要他们中的3个人去完成。已知:(1)A、C不能都去;(2)B、C不能都不去;(3)如果C去了,D、E就只能去一个,且必须去一个;(4)B、C、D不能都去;(5)如果B去了,D、E就不能都去。编程找出此项任务该由哪三人去完成的所有组合。 李润伟(22048303) 17:45:55

截数问题: 任意一个自然数,我们可以将其平均截取成三个自然数。例如自然数135768,可以截取成13,57,68三个自然数。如果某自然数不能平均截取(位数不能被3整除),可将该自然数高位补零后截取。现编程从键盘上输入一个自然数N(N的位数<12),计算截取后第一个数加第三个数减第二个数的结果。

试编程找出能被各位数字之和整除的一切两位数

一个正整数的个位数字是6,如果把个位数字移到首位,所得到的数是原数的4倍,试编程找出满足条件的最小正整数。

某本书的页码从1开始,小明算了算,总共出现了202个数1,试编程求这本书一共有多少页?

有30个男人女人和小孩同在一家饭馆进餐,共花了五十先令,其中男宾3先令,女宾2先令,小孩1先令。试编程求出男人女人小孩各多少人?

编程找出四个互不相等的自然数, 它们之中任意两数之和为偶数, 任意三数之和可以被3整除, 而且这四个数的和越小越好(已知它们的和不大于50).

以不同的字母代表0--9之间的数字, 现有如下等式成立: a+bc+def=ghij,编程求出满足上述条件等式的个数并将所有等式打印输出.

下面的竖式表示, 图中的\号只能用素数2,3,5,7代替, 因此称为素数乘法竖式.

* * *

× * *

---------------

* * * *

* * * *

----------------