基础Java题目
2012-12-21 12:14 littlelion 阅读(221) 评论(0) 编辑 收藏 举报在网上找了一些题目来做,都是用Java代码来实现,给自己规定每天做两道,勤思考,勤动手。
1. 求水仙花数。所谓水仙花数是指一个三位数,它等于各个位上数字的立方和,例如153=13+53+33
打印出100到999之间的所有水仙花数
static int IsDaffodil(int x){ int sum = 0; while(x != 0){ int temp = x%10; sum += temp*temp*temp; x /= 10; } return sum; } void printDaffodil(){ for(int i=100;i<=1000;i++){ if(IsDaffodil(i)==i) System.out.println(i); } }
其实一开始求各个位的数字我不是这么写的,我用最笨的方法来写,就像下面这样
static boolean bak(int x){ int n1=(int)(x/100); int n2=(int)((x%100)/10); int n3=(x%100)%10; int sum=n1*n1*n1+n2*n2*n2+n3*n3*n3; if(x!=sum) return false; return true; } void printBak(){ for(int i=100;i<=999;i++){ if(bak(i)==true) System.out.println(i); } }
给BF看,直接一句,你不能这样做啊,你得用循环啊!
看来计算机的思想在我脑中还不算根深蒂固,我其实挺不聪明的我承认。
2. 求 s=a+aa+aaa+aaaa+a...a
这种题想到了怎么做就比较好写了
int aSum(int n,int x){ int sum=0; int t=0; for(int i=0;i<n;i++){ t=t*10+x; sum += t; } return sum; }
未完待续。。。