C++ 入门级简单编程求解

来源:百度知道 编辑:UC知道 时间:2024/05/28 10:29:27
A是一个4位数,且是一个完全平方数;B是一个4位数,且每一位的数字都相同;C也是一个4位的完全平方数。已知C = A – B,请编程求出所有符合条件的A。

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

int main()
{
int start = (int) sqrt(1000) + 1;
int end = (int) sqrt(9999) - 1;

int length_a = 0;
int *a = (int*) malloc((end - start + 1) * sizeof(int));
for (int i = start; i <= end; ++i)
{
a[length_a++] = i * i;
}

for (int n = 0; n < length_a; ++n)
{
for (int b = 1111; b <= 9999; b += 1111)
{
int c = a[n] - b;
if (c >= a[0] && c <= a[length_a - 1])
{
int div = (int) sqrt(c);
if (div * div == c)
{
printf("a: %d b: %d c: %d\n", a[n], b, c);
}
}
}
}

free(a);

return 0;
}