社区
C语言
帖子详情
大家帮忙给点意见..!!
babyding
2003-12-10 10:54:42
用c语言写:
一个人的年龄,假定是x,x的二次方是一个四位数,它的三次方是六位数.而这十个数正好是0 1 2 3 4 5 6 7 8 9;那他的年龄是多少?
...全文
98
15
打赏
收藏
大家帮忙给点意见..!!
用c语言写: 一个人的年龄,假定是x,x的二次方是一个四位数,它的三次方是六位数.而这十个数正好是0 1 2 3 4 5 6 7 8 9;那他的年龄是多少?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunlight1234
2003-12-10
打赏
举报
回复
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
void main()
{
int i,j,istart,iend;
char c2[6],c3[8];
int ioccupy[11];
istart=(int)pow(1000,0.5);
if((int)pow(100000,((double)1/3)>istart)) istart=(int)pow(100000,((double)1/3));
iend=(int)pow(9999,0.5);
if(iend>(int)pow(999999,((double)1/3))) iend=(int)pow(100000,((double)1/3));
for(i=istart;i<iend;i++)
{
for(j=0;j<10;j++) ioccupy[j]=0;
itoa((int)pow(i,2),c2,10);
itoa((int)pow(i,3),c3,10);
for(j=0;j<=5;j++)
{
if(j<4)
{
if(ioccupy[c2[j]-'0']!=0)
{
break;
}
else
{
ioccupy[c2[j]-'0']=1;
}
}
if(ioccupy[c3[j]-'0']!=0)
{
break;
}
else
{
ioccupy[c3[j]-'0']=1;
}
}
if(j>5) printf("%d\n",i);
}
}
WIN2000 VC6
69
arfi
2003-12-10
打赏
举报
回复
看来我写的太慢了
#include <stdio.h>
#include <math.h>
#define SUCCESS 0
#define FAILURE 1
int check(unsigned long int square, unsigned long cube)
{
char num[10] = {0};
int temp;
while(1)
{
temp = square%10;
square /= 10;
if(num[temp] == 1)
return FAILURE;
num[temp] = 1;
if(square == 0)
break;
}
while(1)
{
temp = cube%10;
cube /= 10;
if(num[temp] == 1)
return FAILURE;
num[temp] = 1;
if(cube == 0)
break;
}
return SUCCESS;
}
void main(void)
{
unsigned long int age, square, cube;
age = (unsigned long int)sqrt(1000);
while(1)
{
square = age*age;
if(square < 1000)
{
age++;
continue;
}
if(square >= 10000)
break;
cube = square*age;
if(cube < 100000L)
{
age++;
continue;
}
if(cube >= 1000000L)
break;
if(check(square, cube) == SUCCESS)
printf("The age may be: %lu\n", age);
age++;
}
}
babyding
2003-12-10
打赏
举报
回复
这两句 itoa(pingfang,str,10);
itoa(lifang,str[4],10);
itoa是什么函数。。
tuxw
2003-12-10
打赏
举报
回复
x的二次方是一个四位数 => x>=32
x的三次方是六位数 => 47<=x<100
范围不大,一个测试算了
#include <stdio.h>
#include <string.h>
void sort_str( char *str, int n ); // 对str前n位排序
int main()
{
int i;
char str[11];
char cmp[] = "0123456789";
for( i=46; i<100; ++i ) {
int tmp = i*i;
sprintf( str, "%4d%06d", tmp, tmp*i);// 格式化字符串
sort_str( str, 10 ); // 排序
// 比较
if( strcmp( str, cmp ) == 0 )
printf("Age = %d\n", i );
}
return 0;
}
void sort_str( char *str, int n )
{
int i, j;
for( i=0; i<n-1; ++i )
for( j=i+1; j<n; ++j )
if( str[j] < str[i] )
str[i] ^= str[j] ^= str[i] ^= str[j];
}
结果是 69
qiaojicheng
2003-12-10
打赏
举报
回复
IT、软件开发
babyding
2003-12-10
打赏
举报
回复
聪明,我们 的老师也是怎么说的。不过有一些烦。你是什么职业的????
qiaojicheng
2003-12-10
打赏
举报
回复
一个更简单办法。
for(int i = 32;i < 100;i ++)
{
int pingfang = i*i;
int lifang = i*i*i;
char str[11];
itoa(pingfang,str,10);
itoa(lifang,str[4],10);
str[10] = '\0';
如果字符产str中没有重复的字符,跳出即可
}
babyding
2003-12-10
打赏
举报
回复
不是。。我是用的turbo c这个软件
qiaojicheng
2003-12-10
打赏
举报
回复
你是16位机?不会吧?现在都是在windows下的32位机,int是占四个字节的,麻烦你到windows下编译运行。
babyding
2003-12-10
打赏
举报
回复
对于 qiaojicheng(乔)中的参数,能不能用int型,是不是可能会超界,int只有-32678--32767之间。
HandX
2003-12-10
打赏
举报
回复
这是诺伯特.维纳在他博士学位的授予仪式上出的!
诺伯特.维纳是20世纪最伟大的数学家之一!
他是信息论的前驱,又是控制论的奠基者,少年时他就智力超群,3岁会读写,7岁能攻读合理界但丁和达尔文的著作,14岁大学毕业,18岁获哈佛科学博士学位.
HandX
2003-12-10
打赏
举报
回复
正确答案:18.
hanyixin
2003-12-10
打赏
举报
回复
我看一个一个试吧,数字并不多,三次方是6位数,这个数就必须大于46了,又小于100。
qiaojicheng
2003-12-10
打赏
举报
回复
#include "stdafx.h"
#include <string.h>
#include <stdlib.h>
#include <math.h>
/*
一个人的年龄,假定是x,x的二次方是一个四位数,它的三次方是六位数.
而这十个数正好是0 1 2 3 4 5 6 7 8 9;那他的年龄是多少?
根据题目可以判定他小于100岁,因为100*100=10000五位数了。
大于31岁,因为31*31是三位数,32*32是四位数。
省下的工作就是作个循环来求解了。
*/
int getage()
{
char array[10];
memset(array,0,sizeof(array));
for(int i = 32; i < 100; i++)
{
int pingfang = i*i;
int lifang = pingfang*i;
for(int j = 0;j < 4; j++)
{
array[j] = pingfang/(int)(pow(10,3-j));
pingfang = pingfang%(int)(pow(10,3-j));
}
for(int k = 0; k < 6; k++)
{
array[j+k] = lifang/(int)(pow(10,5-k));
lifang = lifang%(int)(pow(10,5-k));
}
bool ok = 1;
for(j = 0;j < 10;j++)
for(k = 0;k < 10; k++)
if((array[j]==array[k]) && (j != k))
{
ok = 0;
break;
}
if(ok == 1)
break;
}
return i;
}
void main()
{
int age = getage();
printf("%d",age);
}
如果只要一个答案的话,算出来的是69岁。
chenyan800522
2003-12-10
打赏
举报
回复
气死我了,费了一个多钟头,才想出一个超级弱智的算法,唉,谁让咱是菜鸟呢,发给虾们看看,搂主不愿意给分,就当我捐给希望工程了:)
#include <stdio.h>
main()
{
int i , j , k , pf , lf , temp ;
char s[10] ;
for ( i = 45 ; i < 200 ; i++)
{
pf = i * i ;
lf = i * i * i ;
if ( (pf >= 1000) && (pf < 10000) && (lf >= 100000) && (lf < 1000000) )
{
s[9] = pf / 1000 ;
s[8] = ( pf - s[9] * 1000 ) / 100 ;
s[7] = ( pf - s[9] * 1000 - s[8] * 100 ) / 10 ;
s[6] = pf - s[9] * 1000 - s[8] * 100 - s[7] * 10 ;//平方数的各位
s[5] = lf / 100000 ;
s[4] = ( lf - s[5] * 100000 ) / 10000 ;
s[3] = ( lf - s[5] * 100000 - s[4] * 10000 ) / 1000 ;
s[2] = ( lf - s[5] * 100000 - s[4] * 10000 - s[3] * 1000) / 100 ;
s[1] = ( lf - s[5] * 100000 - s[4] * 10000 - s[3] * 1000 - s[2] * 100) / 10 ;
s[0] = lf - s[5] * 100000 - s[4] * 10000 - s[3] * 1000 - s[2] * 100 - s[1] * 10 ;
//立方数的各位
for ( j = 0 ; j < 9 ; j++)
for ( k = j + 1 ; k <= 9 ; k++)
{
temp = s[j] - s[k] ;
if (temp == 0)
goto wrong;
}
printf ("年龄是:%d \n," , i) ;
}
wrong: continue ;
}
}
结果是69!
真他妈郁闷,逼得老子用goto!555~~~~
.NET中用C#代码演示TreeView和ListView的控件练习
这是刚学习.NET,敲的一些小代码/TreeView和ListView的简单演示,有每一种单独使用和两种结合使用的,额.....是要大家
帮忙
提问题和
意见
的...谢谢! 里面的数据库附加后可用
新手问题,大家
帮忙
看看..谁有
意见
散分给谁哦!
class Super{ private void method(){ System.out.println("super"); } public void call(){ method(); }}public class Child extends Super{ private void method(){ System.out.println("c
Dynatrace与人工智能运维核心解析实践
随着IT环境的日益复杂,互联网的运维们,有哪些痛
点
是容易忽略掉的? 当前自动化的人工智能运维方式也变得至关重要,这种运维方式可以
帮忙
IT运维人员在成千上万的跨域数据节
点
中,自动判断应用性能状态,以及自动定位应用性能问题的根源,这种突破性的运维方式重新定义了应用性能监控的工作模式,使得团队可以更加关注于软件功能的交付,并同时大幅减少性能问题的诊断时间。
大三计算机系学什么,我是一个大三计算机系的学生,我想考本专业的研究生该复习哪些课程?请有经验的学哥学姐帮帮我!谢谢啦!...
我是一个大三计算机系的学生,我想考本专业的研究生该复习哪些课程?请有经验的学哥学姐帮帮我!谢谢啦!以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!我是一个大三计算机系的学生,我想考本专业的研究生该复习哪些课程?请有经验的学哥学姐帮帮我!谢谢啦!现在应该突击英语,大四开学后着重复习英语,数学和专业课,暑假时开始看政治计算机...
Android上层应用——电子闹钟
最近刚接触Android操作系统,我毕设的题目就是:Android上层应用——电子闹钟。因为接触时间不长又赶着实习,所以对此不是很了解,现在是因为有人
帮忙
给了我代码,但是还是有
点
看不懂,所以想请教一下资深人士。 基本功能都已实现,但是个人觉得唯一的缺
点
是闹钟的声音不喜欢,想添加自己喜欢的音乐,但是又不知道怎样添加,所以还望懂的人多多指教。 下面是我毕设所做的工程。望大家多多提
意见
!!!...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章