SY_XLR 2021-09-30 22:58 采纳率: 100%
浏览 85
已结题

平方数,给你一个整数集合A(无重复元素),如果x,y都属于A,且y=x*x,那么组成一个数对,请找出这个集合中满足条件的数对的个数。比如说集合A={2,3,4},则只有4=2*2,则答案为1。

Description
描述
给你一个整数集合A(无重复元素),如果x,y都属于A,且y=xx,那么组成一个数对,请找出这个集合中满足条件的数对的个数。比如说集合A={2,3,4},则只有4=22,则答案为1。

输入
每个样例占2行,第一行为一个非负整数n,n<=1000,为集合中元素的个数,如果n为0则输入结束。第二行为n个整数,为集合的元素,所有的元素为非负整数,且<=100,000,000,两个整数之间有一个空格隔开。

输出
每行输出一个样例的结果。

Sample Input
3
2 3 4
5
3 36 5 9 6
0

Sample Output
1
2

#include <stdio.h>
int main()
{
    int i,j,k,s,n,A[1001],x,y;
    while(scanf("%d",&n))
    {
        s = 0;
        if(n == 0)
        {
            break;
        }
        for(i = 0;i < n;i++)
        {
            scanf("%d",&A[i]);
            if(A[i]==1)
            {
                s-=1;
            }
        }
        for(j = 0;j < i;j++)
        {
            x = A[j];

            for(k = 0;k < i;k++)
            {
                 y = A[k];
                 if(y == x * x)
               {
                 s++;
               }
            }
        }
        printf("%d\n",s);
    }
    return 0;
}

结果为Wrong Answer,哪里错了呢?

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-10-01 00:42
    关注

    集合的元素,所有的元素为非负整数,且<=100,000,000, x*x的平方数超int范围了, 所以A[1001] ,x,y;类型应改为:long long int A[1001],x,y;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月9日
  • 已采纳回答 10月1日
  • 创建了问题 9月30日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题