- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2011 模拟 java 本科
代码设计(满分5分)
625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其它的3位数有这个特征吗?
请编写程序,寻找所有这样的3位数:它的平方的末3位是这个数字本身。
输出结果中,从小到大,每个找到的数字占一行。比如那个625就输出为:625
public static void main(String[] args) {
int temp = 0;
for(int i = 100; i = 999; ++i){
temp = i*i;
temp %= 1000;
if(temp == i)System.out.println(i);
}
}
代码设计(满分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 static void main(String[] args) {
int []arr = new int[31];
for(int i = 1; i = 30; ++i){
arr[i] = (int)i*i*i;
}
for(int a = 1 ; a = 27; ++a){
for(int b = a+1 ; b = 28; ++b){
for(int c = b+1 ; c = 29; ++c){
for(int d = c+1 ; d = 30; ++d){
if((arr[a] + arr[d])==(arr[b] + arr[c]))
System.out.println(a + , + b + , + c + , + d);
}
}
}
}
}
代码设计(满分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.*;
public class Test {
private static LinkedListString str=new LinkedListString();
public static void main(String[] args){
int input = 10;
Test.integerDivide(input, input);
}
public static void integerDivide(int limit, int max){
if(1 == max) {
str.add(String.valueOf(1));
formatResult(str);
str.removeLast();
return;
}
if(0 == max) {
formatResult(str);
return;
}
for(int i = limit ; i = 1; --i){
if(i = max){
str.add(String.valueOf(i));
integerDivide(i, max-i);
str.removeLast();
}
}
}
public static void formatResult(LinkedListString s){
System.out.print(s.getFirst());
for(int i=1;is.size();i++)
System.out.print(++s.get(i));
System.out.println();
}
}
代码设计(满分20分)
一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。
例
文档评论(0)