社区
C语言
帖子详情
大家帮忙给点意见..!!
babyding
2003-12-10 10:54:42
用c语言写:
一个人的年龄,假定是x,x的二次方是一个四位数,它的三次方是六位数.而这十个数正好是0 1 2 3 4 5 6 7 8 9;那他的年龄是多少?
...全文
105
15
打赏
收藏
大家帮忙给点意见..!!
用c语言写: 一个人的年龄,假定是x,x的二次方是一个四位数,它的三次方是六位数.而这十个数正好是0 1 2 3 4 5 6 7 8 9;那他的年龄是多少?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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~~~~
围观了字节跳动张一鸣近 10 年的微博,有人整理了这 231 条干货关键词:延迟满足感,自控,理性,反省,创新,学习。...
围观了字节跳动张一鸣近 10 年的微博,有人整理了这 231 条干货关键词:延迟满足感,自控,理性,反省,创新,学习。张一鸣从南开大学毕业,妻子是大学同学,毕业后去过微软,后来从微软离职,然后去过饭否,应该跟过王兴王慧文一阵子,后来还是自己创业。刚开始项目是99房,类似于安居客或者贝壳找房这样的模式吧,后来才是字节跳动,今日头条,他很早就认准移动互联网红利,很早就认准信息的聚合和推荐的价值。有这样...
新手问题,大家
帮忙
看看..谁有
意见
散分给谁哦!
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
大三计算机系学什么,我是一个大三计算机系的学生,我想考本专业的研究生该复习哪些课程?请有经验的学哥学姐帮帮我!谢谢啦!...
我是一个大三计算机系的学生,我想考本专业的研究生该复习哪些课程?请有经验的学哥学姐帮帮我!谢谢啦!以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!我是一个大三计算机系的学生,我想考本专业的研究生该复习哪些课程?请有经验的学哥学姐帮帮我!谢谢啦!现在应该突击英语,大四开学后着重复习英语,数学和专业课,暑假时开始看政治计算机...
电信网速怎么测试软件,电信网速测试在线(中国电信自助测速app)
中国电信提供了在线测速,让你获得最专业的测速服务中国电信网厅在线测速:可能有些人会在测速的过程中都会遇到一个问题: 测速结果为什么略低于宽带速率?其实宽.小姐叫我在中国电信测速网上测一下速,我一测是好的。请大家给
点
意见
!!.不能说是假的。因为你从电信网站下东西测过之后速度很快。所以不能说是假的。但是你要明白,正因抄为客服让你上电信网上测速,电信网上用来下载测速的文件是属于.100M宽带测速最少8m...
QS100研究生 求捞捞我!!!或者给
点
简历
意见
!认真听劝~
圣无线我来哩,挑战最早一批上海无线开奖#华为开奖那些事##我的实习求职记录##华为##实习#----其实组里都是放养的,但是自己代码能力太差了,也没有想到好的创新
点
,这两天突然好难过,感觉毕业有好大问。lz六月底才期末考完,26届研一想找日常实习,现在投会不会太早了#我的实习日记##正在实习的碎碎念##简历无回复,你会继续海投还是优化再投# #牛客福利打卡# #牛客帮帮团来啦!有问必答# 我会继续。26届选手,现在完成了qimi的bluebell论坛,求助有什么好的项目推荐吗,我看有人推荐极客兔兔。
C语言
70,021
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章