首页 > 试题广场 >

题目标题: 分割自然数游戏

[问答题]

题目标题:

分割自然数游戏

题目描述:

周末强强在家做作业,遇到了这样一道题,找出N位(N<8)的自然数中具有下列性质的数:如果将这个数字从中间开始分割成两部分,然后将这两部分相加,所得到的和的平方,等于原来那个数的(奇数的时候,中间的那个数字靠前)。从键盘输入N,直接在屏幕上输出答案。找不到满足要求的数时候,输出"NO FOUND"。强强想了许久也没想出来,想请你来帮忙,那么你该如何来帮助他呢?

输入描述:

输入N

输出描述:

符合条件的N位整数

样式输入:

4

样式输出:

2025

3025

9801

#include<stdio.h>

int main()

{

int i,k=1,n,m,p=1,res;

scanf("%d",&n);

for(i=1;i<=n/2;i++)

p*=10;

for(i=1;i<=n;i++)

k*=10;

if(n%2)/* 测试数据的时候发现,用7的话会超时,虽然题库用的不是7,单这样更快~*/

printf("%d\n",k);

else

{

for(i=k/10;i<k;i++)

{

res=i%p+i/p;

if(res*res==i)

printf("%d\n",i);

}

}

return 0;

}

发表于 2017-05-17 04:25:05 回复(0)