搜索
查看: 1172|回复: 5
打印 上一主题 下一主题

T T新手继续哭瞎……大神快来

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-14 08:46:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
在三位整数(100~999)中寻找符合条件的整数,条件为它既是一个整数的平方数(提示:即一个整数开根号运算后得到的结果仍为整数),又有两位数字相同,例如:144,676等。要求把满足该条件的整数按从大到小的顺序存入一个一维数组后输出,并输出满足该条件的整数的个数。


沙发
发表于 2013-11-14 08:46:41 | 只看该作者
  1. #include <stdio.h>

  2. int main()
  3. {
  4.   /* 10 x 10 = 100 */
  5.   /* 31 x 31 = 961 */

  6.   int result[20];
  7.   int pos = 0;

  8.   int i;
  9.   for(i=31; i>=10; --i){
  10.     int num = i*i;
  11.     int a = num / 100;
  12.     int b = num % 100 / 10;
  13.     int c = num % 10;

  14.     if(a == b || b == c || c == a)
  15.       result[pos++] = num;
  16.   }

  17.   for(i=0; i!=pos; ++i)
  18.     printf("%d ", result[i]);
  19.   printf("\n%d\n", pos);
  20.   return 0;
  21. }
复制代码
板凳
发表于 2013-11-14 09:59:21 | 只看该作者
#iclude 《math.h>
地板
发表于 2013-11-14 21:49:58 | 只看该作者
rosynirvana 发表于 2013-11-14 17:26

好深奥,看不懂怎么办
5#
发表于 2013-11-15 00:14:48 | 只看该作者
x251923679 发表于 2013-11-14 21:49
好深奥,看不懂怎么办

10 x 10 = 100
31 x 31 = 961
再往两边扫就出范围了
于是只考虑10的平方,11的平方,12的平方……
然后把平方算出来检验有没有重复数字,如果有就记录下来
6#
发表于 2013-11-23 19:09:44 | 只看该作者
好心情,拿手敲!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表