题目标题:
分割自然数游戏(杨鼎强)
题目描述:
周末强强在家做作业,遇到了这样一道题,找出N位(N<8)的自然数中具有下列性质的数:如果将这个数字从中间开始分割成两部分,然后将这两部分相加,所得到的和的平方,等于原来那个数的(奇数的时候,中间的那个数字靠前)。从键盘输入N,直接在屏幕上输出答案。找不到满足要求的数时候,输出"NO FOUND"。强强想了许久也没想出来,想请你来帮忙,那么你该如何来帮助他呢?
输入描述:
输入N
输出描述:
符合条件的N位整数
样式输入:
4
样式输出:
2025
3025
9801
代码
#include<stdio.h>
#include<math.h>
int main()
{
int n,a,b,c,k,cnt=0,i=0;
int e[100]={0};
scanf("%d",&n);
if(n%2==0)
{
a=n/2;
for(k=pow(10,n-1);k<pow(10,n);k++)
{
b=k/pow(10,a);
c=k-bpow(10,a);
if(k==(b+c)(b+c))
{
e[i]=k;
i++;
cnt++;
}
}
}
else
{
a=n/2;
for(k=pow(10,n-1);k<pow(10,n);k++)
{
b=k/pow(10,a);
c=k-bpow(10,a);
if(k==(b+c)(b+c))
{
e[i]=k;
i++;
cnt++;
}
}
}
if(cnt==0)
printf("NO FOUND");
else
for(i=0;i<cnt;i++)
{
printf("%d",e[i]);
if(i<cnt-1)
printf("\n");
}
return 0;
}
可以帮忙看一下那个地方导致的编译错误吗