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

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

* * * * *

一个四位数是一个完全平方数,减去一个每位数字都相同的四位数( 如 1111, 5555)后, 仍是一个完全平方数. 请编程打印出所有这样的四位数.

有一个八位数12345679, 若它乘以9, 则得九位数111111111, 试求:素数

(1)当这个数乘以什么数时, 才能得到全部由5所组成的九位数?

(2)当这个数乘以什么数时, 才能得到全部由9所组成的九位数?

李先生和他的孙子同出生于20世纪, 他的孙子与他的年龄之差为60岁, 李先生和他的孙子出生年份被3,4,5,6除, 余数分别为1,2,3,4. 编程求出李先生和他的孙子各出生在哪一年.

16/64是一个分子和分母都是两位数的真分数, 且分子的个位数与分母的十位数相同. 非常奇怪的是: 如果把该分数的分子的个位数和分母的十位数同时划去, 所得到的结果正好等于原分数约分后的结果. 例 16/64=1/4. 编程找出所有满足上述条件的真分数.

甲去买东西, 要付给乙19元, 而甲只有3元一张的钱, 乙只有5元一张的钱. 请为他们设计一个交换方案.

有六箱货物,重分别是5吨、2吨、3.5吨、1.7吨、1吨、5.1吨。现有一台货车,载重量10吨。设计一个程序,使这次车运走的货物最多。

某电台组织一次智力竞赛,计划安排奖励30人。准备了50件奖品。得一等奖者可得3件,二等奖2件,三等奖1件。希望把所有奖品都发到获奖者手中。请找出所有方案(即各等奖各有多少人)。

一个自然数是素数, 且它的数字位置经过任意对换后仍为素数, 称为绝对素数. 例如 13.

试找出所有这样的四位绝对素数

一个自然数, 若它的质因数至少是两重的(相同的质因数至少个数为二个, 如36=2*2*3*3)则称该数为\漂亮数\ 若相邻两个自然数都是\漂亮数\就称它们为\孪生漂亮数\例如8与9就是一对. 请编程再找出一对\孪生漂亮数\。

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

public class Test3 { /**

* @param args */

public static void main(String[] args) { // TODO Auto-generated method stub char buf[] = { 'a', 'b', 'c'};

int k = buf.length; // 选择几个字母排序 // char r[] = new char[k];

perm(0, buf, k); // 开始的字母在start,几个字母为k }

public static void perm(int start, char[] buf, int k) { if (start == k) { // 一个字母的全排列 for (int i = 0; i < k; i++) { System.out.print(buf[i]); }

System.out.println();

} else if (start < k) {// 多个字母全排列 for (int i = start; i < k; i++) {

char temp = buf[start]; // 交换数组的第一个元素和后续元素 buf[start] = buf[i]; buf[i] = temp;

perm(start + 1, buf, k); // 后续元素全排列 temp = buf[start]; // 还原 buf[start] = buf[i]; buf[i] = temp;

System.out.println(\System.out.println(\}

} else { return; } } }

任意输入二个自然数, 若商为整数, 则直接显示商; 否则把商分解成一个自然数和一个正的既约真分数之和才显示。 例如: 输入: 9, 3 显示: 9/3=3

输入: 8, 6 显示: 8/6=1+1/3

任意输入四个自然数a,b,c,d, 看成二个分数a/b, c/d. 求这二个分数之和. 和的显示格式为: 输入 3,2,1,6 输出: 3/2+1/6=1+2/3。

在自然数中, 各位数字之和的11倍正好等于自身的自然数只有一个. 请找出这个自然数。

求所有不超过1000的这样的整数, 它的平方的末二位数字相同但不为0 Ecol 9:51:18 package today;

import java.util.ArrayList; import java.util.List;

public class help13 {

static List count = new ArrayList();

static boolean function(int num) {

for(int i=0;i<10000;i++){count.add(0);} boolean bl = false; int i = 2;

while (num > 1) { if (num % i == 0) {

count.set(i-1,count.get(i-1)+1); num /= i; i = 2; } else { i++; } }

for (int k = 0; k < count.size(); k++) { if (count.get(k) <2&&count.get(k)>0) { //bl = true; break; }

if(k==count.size()-1){bl=true;} }

count = null;

count = new ArrayList(); return bl; }

public static void main(String[] args) { for (int i = 3; i <= 9999; i++) {

if (function(i) && function(i + 1)) { System.out.println(i); } } } }

package test;