| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 864 人关注过本帖
标题:[求助]做个简单的题目
只看楼主 加入收藏
xzdblue
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-1-25
收藏
 问题点数:0 回复次数:12 
[求助]做个简单的题目
一人年龄的3次方是4位数 4次方是6位数 这两个数中没有重复的数字 请求出该人年龄
要求用穷举法 过程一定要简单
2007-01-27 15:36
hiaod
Rank: 1
等 级:新手上路
威 望:1
帖 子:66
专家分:0
注 册:2007-1-25
收藏
得分:0 

呵呵,俺先来个简单的:

#include <stdio.h>

int estimate(long num,int unit)            /* 判断数字是否有重复的 */
{
int data[6];
int i,j;
for(i = 0; i < unit; i++)          /* 分解各位上的数字,保存在数组中 */
{
data[i] = num % 10;
num /= 10;
}
for(i=0;i<unit-1;i++)
for(j=i+1;j<unit;j++)
if(data[i] == data[j])
return 0;              /* 有重复数字,返回0 */
return 1;
}


int main()
{
int age;
long temp1,temp2;
for(age=1;age<200;age++)
{
temp1=age*age*age;
temp2=temp1*age;
if(temp1 >= 1000 && temp1 <= 9999 && temp2 >= 100000 && temp2 <= 999999)
if(estimate(temp1,4) && estimate(temp2,6))
printf("%d ",age);
}
printf("\n");
return 0;
}

[此贴子已经被作者于2007-1-27 18:23:46编辑过]

2007-01-27 17:30
xzdblue
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-1-25
收藏
得分:0 
以下是引用hiaod在2007-1-27 17:30:00的发言:

呵呵,俺先来个简单的:

#include <stdio.h>

int estimate(long num,int unit)            /* 判断数字是否有重复的 */
{
int data[6];
int i,j;
for(i = 0; i < unit; i++)          /* 分解各位上的数字,保存在数组中 */
{
data[i] = num % 10;
num /= 10;
}
for(i=0;i<unit-1;i++)
for(j=i+1;j<unit;j++)
if(data[i] == data[j])
return 0;              /* 有重复数字,返回0 */
return 1;
}


int main()
{
int age;
long temp1,temp2;
for(age=1;age<200;age++)
{
temp1=age*age*age;
temp2=temp1*age;
if(temp1 >= 1000 && temp1 <= 9999 && temp2 >= 100000 && temp2 <= 999999)
if(estimate(temp1,4) && estimate(temp2,6))
printf("%d ",age);
}
printf("\n");
return 0;
}


思路懂了 但是把你的代码放到win-tc里面好象有错误
编译不出来啊

2007-01-28 15:19
hiaod
Rank: 1
等 级:新手上路
威 望:1
帖 子:66
专家分:0
注 册:2007-1-25
收藏
得分:0 
俺编译没有出错呀。

2007-01-28 19:08
hiaod
Rank: 1
等 级:新手上路
威 望:1
帖 子:66
专家分:0
注 册:2007-1-25
收藏
得分:0 

哦,是俺在注释前面加入了中文状态下的空格不能被编译器识别。下面这个就行了:(内容没有作任何修改)


#include <stdio.h>

int estimate(long num,int unit) /* 判断数字是否有重复的 */
{
int data[6];
int i,j;
for(i = 0; i < unit; i++) /* 分解各位上的数字,保存在数组中 */
{
data[i] = num % 10;
num /= 10;
}
for(i=0;i<unit-1;i++)
for(j=i+1;j<unit;j++)
if(data[i] == data[j])
return 0; /* 有重复数字,返回0 */
return 1;
}


int main()
{
int age;
long temp1,temp2;
for(age=1;age<200;age++)
{
temp1=age*age*age;
temp2=temp1*age;
if(temp1 >= 1000 && temp1 <= 9999 && temp2 >= 100000 && temp2 <= 999999)
if(estimate(temp1,4) && estimate(temp2,6))
printf("%d ",age);
}
printf("\n");
getch();
return 0;
}

2007-01-28 19:18
ppm88
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1414
专家分:30
注 册:2007-1-28
收藏
得分:0 
过路的来学习下思路
2007-01-28 19:22
xzdblue
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-1-25
收藏
得分:0 

恩 谢谢 问题解决

2007-01-28 19:40
huawang99
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-1-28
收藏
得分:0 

#include<stdio.h>

int main(void)
{
long long b;

for(b=1;b<100;b++)
{
if( (b*b*b) > 999 && (b*b*b) < 10001 && (b*b*b*b) > 99999
&& (b*b*b*b) < 1000001 && b%11 !=0)
{
printf("the age is:%lld\n",b);

}
}


getch();
return 0;
}


2007-01-28 22:50
huawang99
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-1-28
收藏
得分:0 
楼上的运算结果是18 52 90 132
但是90和132的三次方明显不是四位数啊.

2007-01-29 17:24
hiaod
Rank: 1
等 级:新手上路
威 望:1
帖 子:66
专家分:0
注 册:2007-1-25
收藏
得分:0 

呵呵,是俺的错了,正确答案应该只有一个:18
我只改了一个地方,见红色处:

#include <stdio.h>

int estimate(long num,int unit)            /* 判断数字是否有重复的 */
{
int data[6];
int i,j;
for(i = 0; i < unit; i++)          /* 分解各位上的数字,保存在数组中 */
{
data[i] = num % 10;
num /= 10;
}
for(i=0;i<unit-1;i++)
for(j=i+1;j<unit;j++)
if(data[i] == data[j])
return 0;              /* 有重复数字,返回0 */
return 1;
}


int main()
{
int age;
long temp1,temp2;
for(age = 1;age < 200;age++)
{
temp1 = (long)age * age * age;
temp2 = temp1 * age;
if(temp1 >= 1000 && temp1 <= 9999 && temp2 >= 100000 && temp2 <= 999999)
if(estimate(temp1,4) && estimate(temp2,6))
printf("%d ",age);
}
printf("\n");
return 0;
}

如果不用强制类型转换,则可以将年龄age设为长整形。

[此贴子已经被作者于2007-1-30 2:04:54编辑过]

2007-01-29 18:46
快速回复:[求助]做个简单的题目
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.061861 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved