C语言 判断一个正整数能否写成另外两个正整数的平方和,大神帮忙! 5
形式就为N=a^2+b^2;如果存在输出yes否则输出no!此数可能会大到1000000000009!请大神在写完代码后,再讲讲思路,不胜感激...
形式就为N=a^2+b^2;如果存在输出yes否则输出no!此数可能会大到 1000000000009!请大神在写完代码后,再讲讲思路,不胜感激
展开
展开全部
#include<stdio.h>
void main()
{ int text(double N,double x,double y);//判断是否符合N=a*a+b*b,要是符合,返回1;
int i=0;
double N ,a,b;
printf("\nInput N is: "); scanf("%ld",&N);
printf("\nInput a is: "); scnaf("%ld",&a);
printf("\nInput b is: "); scanf("%ld",&b);
i=text(N ,a,b);//调用函数
if(i==1) printf("Yes!");
else printf("NO!");
}
int text(double N ,double a,double b)
{ if(N==a*a+b*b) return 1;//如果符合返回1;
else return 0;
} //如果对您有用,望采纳
更多追问追答
追问
不是这样的意思,不是输入a,b,n;就是给你一个数,看能不能表示成N=a^2+b^2这种形式,让你自己去找a和b;详见 http://acm.neu.edu.cn/hustoj/problem.php?id=1254
追答
#include<stdio.h>
void main()
{ double N ;
double a,b;
int text(double N ,double i,double j);
printf("Input N is:"); scnaf("%ld",&N);
for(i=0;i<N;i++)
{ for(j=0;j<N;j++)
if(text(N ,i,j)==1) printf("Yes: a is:%ld,b is:%ld",a,b);
}
}
int text(double N ,double i,double j)
{ if(N==i*i+j*j) return 1;
else return 0;
}
展开全部
怎么合并呢?
连接: 如65,23,合并为6523还是2365,还是6253,还是2635呢?
/*
请输入两个两位正整数(任意一个为0则结束):
45
12
45和12的组合结果为
:
1524
请输入两个两位正整数(任意一个为0则结束):
36
20
36和20的组合结果为
:
2603
请输入两个两位正整数(任意一个为0则结束):
0
0
press
any
key
to
continue
*/
#include
int
main()
{
int
a,b,n;
while(1)
{
printf("请输入两个两位正整数(任意一个为0则结束):
");
scanf("%d%d",&a,&b);
if(a
==
0
||
b
==
0)
break;
n
=
1000
*
(b
/
10);
//
取b的十位放到千位上
n
+=
100
*
(a
%
10);
//
取a的个位放到百位上
n
+=
10
*
(b
%
10);
//
取b的个位放到十位上
n
+=
a/10;
//
取a的十位放到个位上
printf("%d和%d的组合结果为
:
%d\n",a,b,n);
}
return
0;
}
连接: 如65,23,合并为6523还是2365,还是6253,还是2635呢?
/*
请输入两个两位正整数(任意一个为0则结束):
45
12
45和12的组合结果为
:
1524
请输入两个两位正整数(任意一个为0则结束):
36
20
36和20的组合结果为
:
2603
请输入两个两位正整数(任意一个为0则结束):
0
0
press
any
key
to
continue
*/
#include
int
main()
{
int
a,b,n;
while(1)
{
printf("请输入两个两位正整数(任意一个为0则结束):
");
scanf("%d%d",&a,&b);
if(a
==
0
||
b
==
0)
break;
n
=
1000
*
(b
/
10);
//
取b的十位放到千位上
n
+=
100
*
(a
%
10);
//
取a的个位放到百位上
n
+=
10
*
(b
%
10);
//
取b的个位放到十位上
n
+=
a/10;
//
取a的十位放到个位上
printf("%d和%d的组合结果为
:
%d\n",a,b,n);
}
return
0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <math.h>
bool fun(unsigned long long r){
unsigned a=sqrit(r),b=1,c,d;
while(a>0){
c=r-a*a;
d=sqrt(c);
if(d*d==c){
//cout<< r<<'='<<a<<'*'<<a<<'+'<<d<<'*'<<d<<endl
return ture;
}
--a;
}
return false;
}
bool fun(unsigned long long r){
unsigned a=sqrit(r),b=1,c,d;
while(a>0){
c=r-a*a;
d=sqrt(c);
if(d*d==c){
//cout<< r<<'='<<a<<'*'<<a<<'+'<<d<<'*'<<d<<endl
return ture;
}
--a;
}
return false;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询