求具有abcd=(ab+cd)2性质的四位数
2008-08-22 09:06
267 查看
3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身。请求出具有这样性质的全部四位数。
*问题分析与算法设计
具有这种性质的四位数没有分布规律,可以采用穷举法,对所有四位数进行判断,从而筛选出符合这种性质的四位数。具体算法实现,可任取一个四位数,将其截为两部分,前两位为a,后两位为b,然后套用公式计算并判断。
*程序说明与注释
#include<stdio.h>
int main()
{
int n,a,b;
printf("There are following number with 4 digits satisfied condition\n");
for(n=1000;n<10000;n++) /*四位数N的取值范围1000~9999*/
{
a=n/100; /*截取N的前两位数存于a*/
b=n%100; /*截取N的后两位存于b*/
if((a+b)*(a+b)==n) /*判断N是否为符合题目所规定的性质的四位数*/
printf("%d ",n);
}
}
*运行结果
There are following numbers with 4 digits satisfied condition:
2025 3025 9801
*问题分析与算法设计
具有这种性质的四位数没有分布规律,可以采用穷举法,对所有四位数进行判断,从而筛选出符合这种性质的四位数。具体算法实现,可任取一个四位数,将其截为两部分,前两位为a,后两位为b,然后套用公式计算并判断。
*程序说明与注释
#include<stdio.h>
int main()
{
int n,a,b;
printf("There are following number with 4 digits satisfied condition\n");
for(n=1000;n<10000;n++) /*四位数N的取值范围1000~9999*/
{
a=n/100; /*截取N的前两位数存于a*/
b=n%100; /*截取N的后两位存于b*/
if((a+b)*(a+b)==n) /*判断N是否为符合题目所规定的性质的四位数*/
printf("%d ",n);
}
}
*运行结果
There are following numbers with 4 digits satisfied condition:
2025 3025 9801
相关文章推荐
- 100c之29:求具有abcd= ( ab + cd )^2 性质的四位数
- 1027:求具有abcd=(ab+cd)^2性质的四位数
- 求具有abcd=(ab+cd)2性质的四位数
- 整数趣题(求具有abcd = (ab + cd)^2性质的四位数)
- 1027: 求具有abcd=(ab+cd)2性质的四位数
- 编程求具有abcd=(ab+cd)²性质的4位数
- 求具有abcd=(ab+cd)2性质的四位数
- 【C语言训练】求具有abcd=(ab+cd)2性质的四位数
- (百例编程)29.求具有abcd=(ab+cd)平方的性质数
- 求具有abcd=(ab+cd)的平方的性质的数
- 求(ab+cd)*(ab+cd)=abcd的四位数
- 创建4个线程,4个线程同时对一个文件进行修改。线程1负责向文件写入A,线程2负责向文件写入B,线程3负责写入C,线程4负责写入D。最终文件里的内容应该是ABCDABCDABCD....循环10次;
- 左旋字符串例如AABCD旋转一位后为ABCDA,旋转两位为BCDAA
- 字符串处理:0xABCD,如果是大端规则,在内存中CD存在高地址位,AB存在低位,printf的时候先打CD,再打AB
- 快速求解趣味题 abcd = (ab + cd)^2
- java中字符串“abcdefgh”转换为“ab:cd:ef:gh”
- MapReduce 具有部分代数性质的整体度量的立方体生成
- 中序式转后序式?(a+b)*(c+d)=>ab+cd+*
- 打印所有不超过256,其平方具有对称性质的数(也称回文数,例如22的平方是484, 484是回文数。则打印22 和484)。
- << 只有对数值右端的5位才有用 这样可以防止我们移位超过int类型所具有的位数