3、已知条件求整数问题
时间:2010-03-30 来源:280552108
【程序3】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。请看具体分析:
2.提示:1+3+5+...+(2n-1) = (1+(2n-1))*n/2 = n*n
3.程序源代码:
#include <stdio.h>
int issqure1(long int);
int
main(void)
{
long int i;
printf("100000以内的满足条件的完全平方数有:\n");
for(i = 1; i < 100000; i ++){
if(issqure1(i + 100) && issqure1(i + 268))
printf("%ld\n", i);
}
return 0;
}
int issqure1(long int n)
{
int i, sum;
sum = 0;
for(i = 1; sum < n; i ++)
sum += (2 * i - 1);
if(sum == n)
return 1;
else
return 0;
}
3.输出结果:
andy@andy-laptop:~/work/study/c/100$ ./3
100000以内的满足条件的完全平方数有:
21
261
1581
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。请看具体分析:
2.提示:1+3+5+...+(2n-1) = (1+(2n-1))*n/2 = n*n
3.程序源代码:
#include <stdio.h>
int issqure1(long int);
int
main(void)
{
long int i;
printf("100000以内的满足条件的完全平方数有:\n");
for(i = 1; i < 100000; i ++){
if(issqure1(i + 100) && issqure1(i + 268))
printf("%ld\n", i);
}
return 0;
}
int issqure1(long int n)
{
int i, sum;
sum = 0;
for(i = 1; sum < n; i ++)
sum += (2 * i - 1);
if(sum == n)
return 1;
else
return 0;
}
3.输出结果:
andy@andy-laptop:~/work/study/c/100$ ./3
100000以内的满足条件的完全平方数有:
21
261
1581
相关阅读 更多 +
- 系统休眠文件删除后果 如何删除计算机的休眠文件 2025-04-22
- 站群服务器是什么意思 站群服务器的作用 站群服务器和普通服务器的区别 2025-04-22
- jQuery插件有何作用 jQuery插件的使用方法 2025-04-22
- jQuery插件有哪些种类 简单的jQuery插件实例 2025-04-22
-