轩少不冷 发表于 2020-11-15 18:32:42

学校作业求助!!!

求助求助!!

baige 发表于 2020-11-15 18:50:32

#include <stdio.h>
#include <stdbool.h>
#include <math.h>

bool solve(int num){
        int n = sqrt(num);
        return n*n == num;
}

int main(void){
        int num1, num2;
        scanf("%d %d",&num1,&num2);
        if(solve(num1-num2))
                printf("Yes");
        else printf("No");
        return 0;
}

jackz007 发表于 2020-11-15 18:58:12

本帖最后由 jackz007 于 2020-11-15 21:19 编辑

      不用数学库
#include <stdio.h>

main(void)
{
      int d , e , f = 0 , i , j , m , n             ;
      scanf("%d%d" , & d , & e)                     ;
      if(d > 0 && e > 0) {
                m = d + e                           ;
                n = (d > e) ? d - e : e - d         ;
                for(i = 1 ; i * i < n + 1 && ! f ; i ++) {
                        if(i * i == n) {
                              for(j = i ; j * j < m + 1 && ! f ; j ++) {
                                        if(j * j == m) {
                                                f ++;
                                                break ;
                                        }
                              }
                        }
                }
      }
      if(f) printf("Yes.\n")                        ;
      else printf("No.\n")                        ;
}
      使用数学库
#include <stdio.h>
#include <math.h>

main(void)
{
      int d , e , f = 0 , i , j , m , n          ;
      scanf("%d%d" , & d , & e)                  ;
      if(d > 0 && e > 0) {
                m = d + e                        ;
                n = (d > e) ? d - e : e - d      ;
                i = sqrt(m)                        ;
                j = sqrt(n)                        ;
                if(i * i == m && j * j == n ) f ++ ;
      }
      if(f) printf("Yes.\n")                     ;
      else printf("No.\n")                     ;
}

风过无痕1989 发表于 2020-11-15 21:29:34

本帖最后由 风过无痕1989 于 2020-11-15 21:33 编辑

#include<stdio.h>
int main()
{
        int i, j, m, n, sum, dif, flag1, flag2;
        scanf("%d%d", &m, &n);
        sum = m + n;
        dif = m - n;
      if(dif < 0)
                dif = -dif;
        for (i = 1;i < sum / 2;i++)
        {
                if (sum == i * i)
                {
                        flag1 = 1;
                        break;
                }
        }

        for (j = 1;j < dif / 2;j++)
        {
                if (dif == j * j)
                {
                        flag2 = 1;
                        break;
                }
        }

        if (flag1 == 1 && flag2 == 1)
        {
                printf("Yes");
        }
        else
        {
                printf("No");
        }
        printf("\n");

}

轩少不冷 发表于 2020-11-16 11:59:23

谢谢大家

白影如光 发表于 2020-11-17 21:59:47

a,b=map(int,input().split())
z = a+b
s = a-b
sum1=0
if s<0:
    s=-s
for i in range(z+1):
    if i*i == z:
      for x in range(z+1):
            if x*x == s:
                sum1=1
                break
if sum1 == 1:
    print('Yes')
else :
    print('No')

叼辣条闯世界 发表于 2020-11-21 09:55:43

你也是橙旭园的??
页: [1]
查看完整版本: 学校作业求助!!!