要求:如果有多个数,按从小到大的顺序输出,一行一个
一个正整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,要求输出10万以内的所有这样的数?
答案:3 悬赏:0 手机版
解决时间 2021-07-21 05:53
- 提问者网友:骨子里的高雅
- 2021-07-20 15:56
最佳答案
- 五星知识达人网友:深街酒徒
- 2021-07-20 16:52
#include <stdio.h>
#include <math.h>
int main()
{
int i;
double a, b;
for ( i = 0; i <= 100000; ++i ) {
a = sqrt( i+100 );
b = sqrt( i+268 );
if ( (int)a == ceil( a ) && (int)b == ceil( b ) )
printf( "%d\n", i);
}
}
#include <math.h>
int main()
{
int i;
double a, b;
for ( i = 0; i <= 100000; ++i ) {
a = sqrt( i+100 );
b = sqrt( i+268 );
if ( (int)a == ceil( a ) && (int)b == ceil( b ) )
printf( "%d\n", i);
}
}
全部回答
- 1楼网友:蓝房子
- 2021-07-20 18:53
Private Sub Command1_Click() For I = 1 To 100000 If Sqr(I + 100) = Int(Sqr(I + 100)) And Sqr(I + 268) = Int(Sqr(I + 268)) Then Print I Next End Sub
这样的数只有三个:
21 261 1581
- 2楼网友:风格不统一
- 2021-07-20 17:38
给个C版本.
#include <stdio.h> #include <math.h>
void main() { int i; float x, y, z; for( i = 1; i < 100000; i++ ) { x = sqrt( i + 100 ); y = sqrt( i + 268 ); if( x * x == i + 100 && y * y == i + 268 ) printf( "%d\n", i ); } }
结果同上 21 261 1581
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯