A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Just_Only 高级黑马   /  2013-6-29 20:26  /  5539 人查看  /  70 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Just_Only 于 2013-7-6 20:01 编辑

{:soso__16865118374220378461_1:}相聚即是缘分,珍惜每分每秒,为了心中梦想,我们永不言弃。
要求:
      1.题目要自己做出来,要写明思路和步骤(可以合在一起){:soso__5462389604067913156_1:}
      2.将程序写的清晰明了,注释到位.
      3.回复的时候把代码和运算后结果的图片一起贴出来,
         不会弄图片的贴出结果来,不要蒙混过关,我会检查的,不合格者不给于技术分哦
      4.需要写出完整代码,不要用几句术语草草了事。
      5.代码放到代码块中,不要压缩包(压缩包没分)
      6.要写注释,没注释的没分...
      7.对于本次活动的题目或是加分,存在异议的可以联系我。。。有奖励的哦...
加分说明:
             题目总共三题,所得技术分是所做题的个数,但是如果所做题精简并且排版较好可能会有一分的技术奖励。

           (说明:如果前期没有完全做完而后续补充上,那么将撤销前期的加分而另行给分,如果有问题请看要求7)
附加:      
       题目不是很难主要是在于综合,每周日更新(持续几周不定)
   
   不说多的啦,上题目的啦,大家踊跃参加的啊,你的支持是我们服务的最大动力哦。
题目:
      1.两个兵乓球队进行比赛,各出三个人。各队选手的编号均为1号,2号,3号,抽签决定比赛名单,有人向队员打听比赛的名单。
         甲队1号说不和乙队的1号比,甲队的3号说不和乙队的1号和3号比,请编程找出两队的赛手名单。
      2.打印出所有三位数中即是水仙数又是回文数的数,如果没有这个数那么输出所有的水仙数。
         水仙数是指一个三位数,其个位数立方和等于本身,例如:153=1[sup]3[/sup]+5[sup]3[/sup]+3[sup]3[/sup]
         回文数是121置换后还是其本身,而132就不是回文数,因为置换后是231。
      3.打印出100到200之间中即不是回文数又不是素数又不是水仙数的所有数的和。

评分

参与人数 1技术分 +1 黑马币 +6 收起 理由
神之梦 + 1 + 6 辛苦了

查看全部评分

70 个回复

倒序浏览
题目感觉还是挺easy的,大家还在等什么呢?占个座位围观{:soso__3409329614010722382_3:}
回复 使用道具 举报
神之梦 发表于 2013-6-29 20:42
题目感觉还是挺easy的,大家还在等什么呢?占个座位围观 ...

题目不是很难,主要是综合,还有就是活跃大家的积极性,你说的别人看不见的啊,这是只有作者可见的啊
回复 使用道具 举报
喔喔,送分的又来了

点评

妹子上QQ哦!!Q你呢!!  发表于 2013-6-29 23:43
逮到你了!!  发表于 2013-6-29 21:12
回复 使用道具 举报
杨晓燕 发表于 2013-6-29 21:01
喔喔,送分的又来了

恩恩,题目不是很难,积极写的哦。。。

点评

你回复了我啥呢,看不到,哈哈  发表于 2013-6-29 21:19
回复 使用道具 举报

RE: ===>送技术分闪亮登场之第二周<===

  1. int j1, j2, j3;/*j1是乙1的对手,j2是乙2的对手,j3是乙3的对手*/
  2.             for (j1 = 1; j1 <= 3; j1++)
  3.             {
  4.                 for (j2 = 1; j2 <= 3; j2++)
  5.                 {
  6.                     if (j1 != j2)
  7.                         for (j3 = 1; j3 <= 3; j3++)//两两相比
  8.                         {
  9.                             if (j1 != j3 && j2 != j3)//同一队的不进行比赛
  10.                             {
  11.                                 if (j1 != 1 && j3 != 1 && j3 != 3)//条件判断
  12.                                     Console.WriteLine("乙队的一号对应甲队的{0}号,乙队的二号对应甲队的{1}号,乙队的三号对应甲队的{2}号", j1, j2, j3);

  13.                             }
  14.                         }
  15.                 }
  16.             }
  17.             Console.ReadKey();

  18.             //输出结果为:乙队的一号对应甲队的3号,乙队的二号对应甲队的1号,乙队的三号对应甲队的2号
复制代码
回复 使用道具 举报
求 加分
回复 使用道具 举报
本帖最后由 王靖远 于 2013-6-29 22:05 编辑
  1. public class Test1{
  2.         public static void main(String [] args){
  3.                 Test1 instance = new Test1();
  4.                 System.out.println("------------------第二题--------------------");
  5.                 instance.printTest2();
  6.                 System.out.println("------------------第三题--------------------");
  7.                 instance.printTest3();
  8.         }
  9.         private  void printTest2(){//打印第二题结果
  10.                 for(int x=100;x<999;x++){
  11.                         if(shuiXianHuaShu(x)&& huiWenShu(x) )
  12.                                 System.out.println(x);
  13.                         else if(shuiXianHuaShu(x))
  14.                                 System.out.println(x);
  15.                 }
  16.         }
  17.         private void printTest3(){//打印第三题结果
  18.                
  19.                 int temp = 0;
  20.                 for(int x=100;x<200;x++){
  21.                         if(!suShu(x) && !huiWenShu(x) && !shuiXianHuaShu(x))
  22.                                 temp += x;
  23.                 }
  24.                 System.out.println(temp);
  25.         }
  26.         
  27.         private boolean suShu(int i ){
  28.                 int count = 1;//初始化一个计数器
  29.                 for(int x=1;x<i;x++){//
  30.                         if(i%x==0)//这个数模从1到自身-1 如果==0计算器+1
  31.                                 count++;
  32.                 }
  33.                 if(count<=2)//计数器小于等于2说明这个数只有1和本身2个因子是素数。
  34.                         return true;
  35.                 else
  36.                         return false;
  37.         }
  38.         
  39.         private boolean huiWenShu(int i){
  40.                 String iString = new String(i+"");
  41.                 char[] chs = iString.toCharArray();
  42.                
  43.                 int i1 = Integer.parseInt(new String(chs[0]+""));
  44.                 int i2 = Integer.parseInt(new String(chs[1]+""));
  45.                 int i3 = Integer.parseInt(new String(chs[2]+""));
  46.                 //以上取出一个数的个位十位百位。
  47.                 StringBuilder iStringBuilder = new StringBuilder();
  48.                 iStringBuilder.append(i3);
  49.                 iStringBuilder.append(i2);
  50.                 iStringBuilder.append(i1);
  51.                 String newIString = new String(iStringBuilder);
  52.                 int newI = Integer.parseInt(newIString);
  53.                 //以上将原数的个位和百位调换并赋值给newI
  54.                 if(i == newI)//判断原数与新数是否相等。
  55.                         return true;
  56.                 else
  57.                         return false;
  58.         }
  59.         private boolean shuiXianHuaShu(int i){
  60.                 String iString = new String(i+"");
  61.                 char[] chs = iString.toCharArray();
  62.                
  63.                 int i1 = Integer.parseInt(new String(chs[0]+""));
  64.                 int i2 = Integer.parseInt(new String(chs[1]+""));
  65.                 int i3 = Integer.parseInt(new String(chs[2]+""));
  66.                 //以上代码取出要判断的数的个位十位百位
  67.                 if((Math.pow(i1, 3)+Math.pow(i2, 3)+Math.pow(i3, 3))==i)//判断
  68.                         return true;
  69.                 else
  70.                         return false;
  71.         }
  72. }
复制代码
只做了第二第三题。第一题做不好。

评分

参与人数 1技术分 +1 收起 理由
Just_Only + 1 第三题答案不对。。。

查看全部评分

回复 使用道具 举报
  1. for (int i = 100; i < 1000; i++) //用i表示三位数
  2.             {
  3.                 int bai = 0; //百位
  4.                 int shi = 0; //十位
  5.                 int ge = 0; //个位
  6.                 int baiyushu = 0; //对百位进行求余后的数字
  7.                 bai = i / 100;
  8.                 baiyushu = i % 100; //两位数
  9.                 shi = baiyushu / 10;
  10.                 ge = baiyushu % 10;
  11.                 if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge &&bai==ge)
  12.                 {
  13.                     Console.Write("回文数:" + i + "\n");
  14.                 }
  15.                 else if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge)
  16.                 {
  17.                     Console.Write("水仙花数:" + i + "\n");
  18.                 }
  19.             }
  20.             Console.ReadKey();

  21.             //输出结果为:
  22.             //水仙花数:153
  23.             //水仙花数:370
  24.             //水仙花数:371
  25.             //水仙花数:407
复制代码
回复 使用道具 举报
  1. package com.java.test;

  2. public class Team {

  3.         /**
  4.          * @param args
  5.          * 两个兵乓球队进行比赛,各出三个人。各队选手的编号均为1号,2号,3号,抽签决定比赛名单,
  6.          * 有人向队员打听比赛的名单。
  7.          * 甲队1号说不和乙队的1号比,甲队的3号说不和乙队的1号和3号比,请编程找出两队的赛手名单。      
  8.          */
  9.         public static void main(String[] args) {
  10.                 // TODO Auto-generated method stub

  11.                 String[] str1 = {"甲1号","甲2号","甲3号"};
  12.                 String[] str2 = {"乙1号","乙2号","乙3号"};
  13.                
  14.                 for(int i = 0; i < 3; i++){
  15.                         for (int j = 0; j < 3; j++) {
  16.                                 //甲1号不和乙1号比
  17.                                 if (str1[i] == "甲1号" && str2[j] == "乙1号" ) {
  18.                                         continue;
  19.                                 }else
  20.                                         //甲3号 不和乙1号和乙3号比
  21.                                         if (str1[i] == "甲3号" && (str2[j] == "乙1号" ||  str2[j] == "乙3号") ){
  22.                                         continue;
  23.                                 }else {
  24.                                         System.out.println(str1[i]+"--"+str2[j]);
  25.                                 }
  26.                                 
  27.                         }
  28.                 }               
  29.         }

  30. }
复制代码

1.png (3.58 KB, 下载次数: 0)

1.png

点评

结果错误。。。  发表于 2013-6-30 21:26
回复 使用道具 举报
  1. int sum = 0;//和
  2.             for (int i = 101; i <= 200; i++) //用i表示三位数
  3.             {
  4.                 int bai = 0; //百位
  5.                 int shi = 0; //十位
  6.                 int ge = 0; //个位
  7.                 int baiyushu = 0; //对百位进行求余后的数字
  8.                 bai = i / 100;
  9.                 baiyushu = i % 100; //两位数
  10.                 shi = baiyushu / 10;
  11.                 ge = baiyushu % 10;
  12.                
  13.                 for (int k = 2; k < i; k++)
  14.                 {
  15.                     if (i % k == 0)  //质数
  16.                     {
  17.                         if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge) //水仙花数
  18.                         {
  19.                             break;
  20.                         }
  21.                         else if (bai == ge)  //回文数
  22.                         {
  23.                             break;
  24.                         }
  25.                         else
  26.                             sum += i;
  27.                            
  28.                     }
  29.                     else //素数
  30.                         break;
  31.                 }
  32.             }
  33.             Console.Write("既不是素数又不是回文数又不是水仙花数的总和为:" + sum );
  34.             Console.ReadKey();

  35.             //输出结果为:11900
复制代码
回复 使用道具 举报
本帖最后由 肥猫 于 2013-6-30 21:53 编辑

题目一:
  1. /*
  2. 题目一:两个兵乓球队进行比赛,各出三个人。各队选手的编号均为1号,2号,3号,抽签决定比赛名单,有人向队员打听比赛的名单。
  3. 甲队1号说不和乙队的1号比,甲队的3号说不和乙队的1号和3号比,请编程找出两队的赛手名单。
  4. author:肥猫
  5. */

  6. public class HomeWork {

  7. public static void main(String[] args){
  8. String[] a = new String[]{"a1","a2","a3"};//定义字符型数组A代表A队,三名队员分别为A1,A2,A3
  9. String[] b = new String[]{"b1","b2","b3"};//B与A相似

  10. for(int x=0;x<a.length;x++){
  11. for(int y=0;y<b.length;y++){//两个FOR循环遍历两个数组
  12. if(x==0&&y==0||x==0&&y==1||x==2&&y==0||x==2&&y==2){//这里是条件,当碰到题目所说情况时直接结束本次循环否则输出比赛名单。
  13. continue;
  14. }
  15. else {
  16. System.out.println(a[x]+":"+b[y]);
  17. break;//这里是保证一名队员只能进行一次比赛,所以需要break。
  18. }
  19. }

  20. }
  21. }
  22. }
复制代码



题目二:
  1. /**
  2. 题目二:打印出所有三位数中即是水仙数又是回文数的数,如果没有这个数那么输出所有的水仙数。
  3. 水仙数是指一个三位数,其个位数立方和等于本身,例如:153=13+53+33
  4. 回文数是121置换后还是其本身,而132就不是回文数,因为置换后是231。
  5. author:肥猫
  6. */

  7. public class Example
  8. {
  9. public static void main(String[] args)
  10. {
  11. for(int i=100;i<=999;i++)//三位数从100-999
  12. {
  13. int geWei,shiWei,baiWei;//定义个位、十位、百位
  14. baiWei=i/100;
  15. shiWei=(i-baiWei*100)/10;
  16. geWei=i-baiWei*100-shiWei*10;
  17. if(i==geWei*geWei*geWei+shiWei*shiWei*shiWei+baiWei*baiWei*baiWei && i==geWei*100+shiWei*10+baiWei*1)//同时满足既是水仙花数又是回文数才输出否则直接跳下一个IF
  18. {
  19. System.out.println(i);
  20. }
  21. else if(i==geWei*geWei*geWei+shiWei*shiWei*shiWei+baiWei*baiWei*baiWei){//若没有数满足上面判断则输出水仙花数
  22. System.out.println(i);
  23. }
  24. }
  25. }
  26. }
复制代码


题目三:
  1. /**
  2. 题目三:打印出100到200之间中即不是回文数又不是素数又不是水仙数的所有数的和。
  3. 思路:逆相思维,题目所求结果就是100到200的数之和减去既是回文数又是素数又水仙数的和。
  4. author:肥猫
  5. */
  6. public class Last
  7. {
  8. public static void main(String[] args)
  9. { int Sum = 0;//Sum为最后结果
  10. int Sum1 = 0;//Sum1是100到200所有数之和
  11. int Sum2 = 0;//Sum2是所有既是水仙数又是素数又是回文数的数之和
  12. for(int i=100;i<=200;i++){
  13. boolean b = false;//定义一个变量B来判断是否为素数,若为true则符合素数.
  14. Sum1+=i;
  15. int geWei,shiWei,baiWei;//定义个位、十位、百位
  16. baiWei=i/100;
  17. shiWei=(i-baiWei*100)/10;
  18. geWei=i-baiWei*100-shiWei*10;
  19. for(int j=2;j<=Math.sqrt(i);j++){
  20. if(i%j==0){
  21. b = false;
  22. break;
  23. }
  24. else{
  25. b=true;
  26. }
  27. if(b==true&&i==geWei*geWei*geWei+shiWei*shiWei*shiWei+baiWei*baiWei*baiWei && i==geWei*100+shiWei*10+baiWei*1){
  28. Sum2+=i;//这整个IF语句是判断是否符合三种数条件的数,若符合则求和.
  29. }
  30. }
  31. }
  32. Sum=Sum1-Sum2;
  33. System.out.println(Sum);
  34. }
  35. }
复制代码


本人菜鸟一枚,刚接触JAVA,答的不好请多谅解,多指教~~.





评分

参与人数 1技术分 +4 收起 理由
Just_Only + 4 第三题你这求的是所有的和...

查看全部评分

回复 使用道具 举报
本帖最后由 杨晓燕 于 2013-6-29 22:53 编辑

我不会做啊,好不容易用最笨的办法做出来了,请大家不要笑哦,然后希望版主指出可以改进的地
  1. /*
  2. 需求:打印出所有三位数中即是水仙数又是回文数的数,如果没有这个数那么输出所有的水仙数。
  3. 水仙数是指一个三位数,其个位数立方和等于本身,例如:153=13+53+33
  4. 回文数是121置换后还是其本身,而132就不是回文数,因为置换后是231。
  5. 思路:
  6. 1,要打印所有三位数中既是水仙数又是回文数的数,使用for循环,定义x,从100遍历到999
  7. 2,定义一个容器,把水仙数存起来
  8. 3,判断x是否为水仙数,如果是,存入容器,再判断是否为回文数,如果也是则打印
  9. 4,定义一个自增变量i,初始化为0,每打印一次既是水仙数又是回文数的数,自增一次,如果i=0;
  10. 则打印存入容器的所有水仙数。
  11. */

  12. class Test2_2
  13. {
  14. public static void main(String[] args)
  15. {

  16. StringBuffer sb=new StringBuffer();//定义一个容器,用来存水仙数
  17. int i=0;
  18. int a,b,c,z;
  19. for(int x=100;x<=999;x++)
  20. {
  21. a=x/100;//获取百位数
  22. b=x/10-a*10;//获取十位数
  23. c=x-a*100-b*10;//获取个位数
  24. z=c*100+b*10+a;//将x各位位置置换
  25. if(x==a*a*a+b*b*b+c*c*c)
  26. {
  27. sb.append(x+" ");//是水仙数则,存入容器中,并加上空格,以区分开来

  28. if(x==z)//判断是否为回文数
  29. {
  30. System.out.println(x);
  31. i++;//如果i增加了说明有回文数
  32. }
  33. }

  34. }
  35. if(i==0)//i还是初始值,说明没有回文数
  36. System.out.println(sb);//打印存在容器中的水仙数
  37. }
  38. }
复制代码

2-2.png (3.14 KB, 下载次数: 0)

2-2.png
回复 使用道具 举报
本帖最后由 杨晓燕 于 2013-6-30 09:25 编辑

  1. /*
  2. 需求:打印出100到200之间中即不是回文数又不是素数又不是水仙数的所有数的和。
  3. 思路:
  4. 1,因为是求和,所以定义变量sum记录满足条件的数的和
  5. 2,使用for循环遍历100,到200之间的数
  6. 3,判断该数是否满足以上条件,如果都不满足,则求和
  7. */
  8. class Test2_3
  9. {
  10. public static void main(String[] args)
  11. {
  12. int sum=0;
  13. int a,b,c,s;
  14. for(int i=100;i<=200;i++)
  15. {
  16. a=i/100;//获取百位数
  17. b=i/10-a*10;//获取十位数
  18. c=i-a*100-b*10;//获取个位数
  19. //将x各位位置置换
  20. s=a*a*a+b*b*b+c*c*c;
  21. for(int y=2;y<=i/2;y++)//又定义一个for循环,以便求出x是否为素数
  22. {
  23. if(i%y==0&&a!=c&&i!=s)
  24. {
  25. sum+=i;

  26. break;
  27. }

  28. }
  29. }
  30. System.out.println(sum);

  31. }
  32. }
复制代码
发现昨日的做错了,重新编辑了一下

2-3.png (2.25 KB, 下载次数: 0)

2-3.png

评分

参与人数 1技术分 +2 收起 理由
Just_Only + 2 好样儿的,还有一题哦,加油。。。.

查看全部评分

回复 使用道具 举报
  1. /*
  2. * 1.两个兵乓球队进行比赛,各出三个人。各队选手的编号均为1号,2号,3号,抽签决定比赛名单,
  3. * 有人向队员打听比赛的名单。甲队1号说不和乙队的1号比,甲队的3号说不和乙队的1号和3号比,
  4. * 请编程找出两队的赛手名单。`               
  5. * */
  6. package com.itheima;
  7. public class test11 {
  8.         public static void main(String[] args) {
  9.                         char a,b,c;/*a是甲队1号对手,b是甲队2号对手,c甲队3号对手*/
  10.                         for(a='i';a<='k';a++)
  11.                                 for(b='i';b<='k';b++){
  12.                                         if(a!=b)
  13.                                         for(c='i';c<='k';c++){
  14.                                                 if(a!=c&&b!=c){
  15.                                                 if(a!='i'&&c!='i'&&c!='k')
  16.                                                         System.out.println("甲队1号 VS "+a+"\n甲队2号 VS"+b+"\n甲队3号 VS"+c);
  17.                                                
  18.                                         }
  19.                                 }
  20.         }System.out.println("i,j,k分别代表乙队的1,2,3号");
  21.         }
  22. }
复制代码

比赛匹配.jpg (136.98 KB, 下载次数: 0)

结果

结果
回复 使用道具 举报
/*2.打印出所有三位数中即是水仙数又是回文数的数,如果没有这个数那么输出所有的水仙数。
         水仙数是指一个三位数,其个位数立方和等于本身,例如:153=13+53+33
         回文数是121置换后还是其本身,而132就不是回文数,因为置换后是231。
*/
package com.itheima;
public class test12 {
        //判断是否是水仙花数
        public static boolean IsNarcissusNumber(int n){
            int i, j, k;
            i = n / 100;
            j = n / 10%10;
            k = n % 10;
            if (i * i * i + j * j * j + k * k * k == n)
                return true;
            else
                return false;
        }
        //判断是否是回文数
        public static boolean isHuiWenShu(int n){
                 int i, j, k;
           i = n / 100;
           j = n / 10%10;
           k = n % 10;
           if (i  + j *10+ k * 100== n)
               return true;
           else
               return false;
        }

        public static void main(String[] args) {
                for(int i=100;i<1000;i++){
                        if(IsNarcissusNumber(i)&&isHuiWenShu(i))//判断即是水仙数又是回文数的数
                                System.out.print(" "+i);
                        else if(IsNarcissusNumber(i)){//只打印水仙花数
                                System.out.print(" "+i);
                        }
                }
        }
}


水仙花数.jpg (100.44 KB, 下载次数: 0)

水仙花数.jpg
回复 使用道具 举报

  1. public class Test {

  2. /**
  3. *
  4. 1.两个兵乓球队进行比赛,各出三个人。各队选手的编号均为1号,2号,3号,
  5. 抽签决定比赛名单,有人向队员打听比赛的名单。
  6. 甲队1号说不和乙队的1号比,
  7. 甲队的3号说不和乙队的1号和3号比,请编程找出两队的赛手名单。
  8. 2.打印出所有三位数中即是水仙数又是回文数的数,如果没有这个数那么输出所有的水仙数。
  9. 水仙数是指一个三位数,其个位数立方和等于本身,例如:153=13+53+33
  10. 回文数是121置换后还是其本身,而132就不是回文数,因为置换后是231。
  11. 3.打印出100到200之间中即不是回文数又不是素数又不是水仙数的所有数的和。

  12. * @param args
  13. */
  14. public static void main(String[] args) {
  15. // TODO Auto-generated method stub
  16. System.out.println("这是第一题的要求,比赛的名单");
  17. getVs();//得到比赛的名单
  18. System.out.println("打印即是水仙花又是回数的数,如果没有打印水仙花数");
  19. getNumber();//得到水仙花数或者回数的数
  20. System.out.println("打印100-200不是素数不是回数也不是水仙花数的和");
  21. getSum();//得到要求三的方法
  22. }
  23. //定义2队分别代表甲队成员a,b,c.乙队的选手x,y,z.
  24. //判断比赛的名单,条件是甲队的a不和x进行比赛.甲队的c不和乙队的x,y比
  25. public static void getVs()
  26. { //定义2队分别代表甲队成员a,b,c.乙队的选手x,y,z.
  27. char i,j,k; //定义第三方变量分别表示:i是a的对手,j是b的对手,k是c的对手
  28. for(i='x';i<='z';i++) {//重点就是a,b,c和x,y,z按照ASCII值来看待
  29. for(j='x';j<='z';j++){
  30. if(i!=j) //
  31. for(k='x';k<='z';k++){
  32. if(i!=k && j!=k){ //
  33. if(i!='x' && k!='x'&& k!='z')
  34. System.out.println(" a Vs "+i+"\n b Vs "+j+"\n c Vs "+k);
  35. }
  36. }
  37. }
  38. }
  39. }
  40. /*打印出所有三位数中即是水仙数又是回文数的数,如果没有这个数那么输出所有的水仙数。
  41. 水仙数是指一个三位数,其个位数立方和等于本身,例如:153=13+53+33
  42. 回文数是121置换后还是其本身,而132就不是回文数,因为置换后是231。*/
  43. public static void getNumber()
  44. {
  45. for (int i = 100; i < 999; i++) {//遍历三位数,判断
  46. int a=i%10;//个位数
  47. int b=i/10%10;//十位数
  48. int c=i/10/10%10;//百位数
  49. if (a*a*a+b*b*b+c*c*c==i&&a==c) {//判断又是回数又是水仙花水的数字
  50. System.out.print(i+" ");
  51. }
  52. else if(a*a*a+b*b*b+c*c*c==i){//如果是水仙花数输出
  53. System.out.print(i+" ");
  54. }
  55. }
  56. System.out.println();
  57. }
  58. //打印出100到200之间中即不是回文数又不是素数又不是水仙数的所有数的和。
  59. public static void getSum()
  60. {
  61. int sum=0;//用sum来接收和
  62. loop:for (int i = 100; i <=200; i++) {//遍历100-200之间的数
  63. int a=i%10;//个位数
  64. int b=i/10%10;//十位数
  65. int c=i/10/10%10;//百位数
  66. for (int j = 2; j <i; j++) {//被除数从2到i
  67. if (i%j==0&&a!=c&&a*a*a+b*b*b+c*c*c!=i) {//这些数要满足不是素数不是水仙花数也不是回数
  68. System.out.print(i+" ");
  69. sum+=i;//记录sum的值
  70. continue loop;//跳出内循环到外循环
  71. }
  72. }
  73. }
  74. System.out.println();
  75. System.out.print("满足条件的数的和sum="+sum);
  76. }
  77. }

复制代码
运行的结果完美符合题目的要求!!!!
回复 使用道具 举报
  1. // 3.打印出100到200之间中即不是回文数又不是素数又不是水仙数的所有数的和。
  2. package com.itheima;

  3. public class test13 {
  4.         //判断是否是水仙花数
  5.                 public static boolean IsNarcissusNumber(int n){
  6.                     int i, j, k;
  7.                     i = n / 100;
  8.                     j = n / 10%10;
  9.                     k = n % 10;
  10.                     if (i * i * i + j * j * j + k * k * k == n)
  11.                         return true;
  12.                     else
  13.                         return false;
  14.                 }
  15.                 //判断是否是回文数
  16.                 public static boolean isHuiWenShu(int n){
  17.                          int i, j, k;
  18.                    i = n / 100;
  19.                    j = n / 10%10;
  20.                    k = n % 10;
  21.                    if (i  + j *10+ k * 100== n)
  22.                        return true;
  23.                    else
  24.                        return false;
  25.                 }

  26.         public static void main(String[] args) {
  27.                 int sum=0;
  28.                 for(int i=100;i<=200;i++){
  29.                         if(IsNarcissusNumber(i)||isHuiWenShu(i))
  30.                                 continue;
  31.                                 else
  32.                                 sum+=i;
  33.                 }
  34. System.out.println("100到200之间中即不是回文数又不是素数又不是水仙数的所有数的和"+sum);
  35.         }

  36. }
复制代码

非水仙花和回文数的和.jpg (115.14 KB, 下载次数: 0)

非水仙花和回文数的和.jpg

评分

参与人数 1技术分 +2 收起 理由
Just_Only + 2 最后一题不对。。。

查看全部评分

回复 使用道具 举报

运行结果

回复 使用道具 举报
楼主给分哦亲!!

评分

参与人数 1技术分 +3 收起 理由
Just_Only + 3 为什么你要用字母呢???

查看全部评分

回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 加入黑马