将一个整数写成两个整数的平方和,如5=1*1+2*2。随机输入几个二位数输出满足条件的整数
2016-11-23 13:42
766 查看
思路:将1到这个数穷举,两个数的平方和,所以需要两个循环分别穷举,满足条件的即可以输出
代码:
#include <stdio.h>
main()
{
int n,i,j;
while (scanf("%d",&n)!=EOF)
{
for (i=1;i<=n/2;i++)
for (j=1;j<=n/2;j++)
{
if (n==i*i+j*j&&i<j)//因为5=1*1+2*2和5=2*2+1*1出现重复,所以用i<j可以排除这个重复现象
{
printf("%d=%d*%d+%d*%d\n",n,i,i,j,j);
}
}
}
}
代码:
#include <stdio.h>
main()
{
int n,i,j;
while (scanf("%d",&n)!=EOF)
{
for (i=1;i<=n/2;i++)
for (j=1;j<=n/2;j++)
{
if (n==i*i+j*j&&i<j)//因为5=1*1+2*2和5=2*2+1*1出现重复,所以用i<j可以排除这个重复现象
{
printf("%d=%d*%d+%d*%d\n",n,i,i,j,j);
}
}
}
}
相关文章推荐
- 输入一个整数,如果该整数大于1000,则输出“big”,如果该整数介于100到1000之间(包含两个边界),则输出“middle”,如果上面两种情况都不满足,输出”small“
- 输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输出“YES”,不是则输出“NOT” (要求用条件表达式进行判断,不使用if语句)
- 4.输入一个整数,如果该整数大于1000,则输出“big”,如果该整数介于100到1000之间(包含两个边界),则输出“middle”,如果上面两种情况都不满足,输出”small“
- 输入一个整数,如果该整数大于1000,则输出“big”,如果该整数介于100到1000之间(包含两个边界),则输出“middle”,如果上面两种情况都不满足,输出”small“
- 面试题:写一个java应用程序,从键盘输入两个整数,然后输出它们的平方值及立方值
- 输入一个整数,如果该整数大于1000,则输出“big”,如果该整数介于100到1000之间(包含两个边界),则输出“middle”,如果上面两种情况都不满足,输出”small“
- 2.输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.
- 输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.
- 2.2题目:输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.
- 输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.
- 输入一个整数,求它的位数,倒序输出
- 需找符合条件的整数(输入整数N,输出一个最小自然数M,使N*M结果只包含1跟0)
- 【C语言】输入一个不多于5位的正整数,要求:(1)输出它是几位数,(2)按逆序输出各位数字,(3)按顺序输出各位数字
- 输入一个不多于5位的正整数,判断它是几位数,并逆序输出各位数字
- 输入一个正整数n,返回一个最小正整数m(m至少是2位数),使得m的各位乘积等于n,例如输入36,输出49,输入100,输出455,对于某个n不存在这样的m,请返回-1。
- 2.3题目:输入一个整数a,再输入两个整数p1,p2(p1,p2<32),将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出
- 编程珠玑: 12章 取样问题 12.1程序的输入包含两个整数m和n,其中m<n。输出是0~n-1范围内m个随机整数的有序列表,不允许重复-------解题总结
- 用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以是任意位数的整数。
- 2.4 题目:输入一个整数a,再输入两个整数p(p<32),v(0|1),将该整数a的p位设置为v,输出修改后的该整数的二进制表示.
- 求一个整数有几 位; 第一行输入一个整数(int)N(如2563) 第二行输出该整数N是个几位数(4).