| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 708 人关注过本帖
标题:自守数 不知道问题出哪了!
只看楼主 加入收藏
xiaona521
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-23
收藏
 问题点数:0 回复次数:5 
自守数 不知道问题出哪了!

自守书 指 一个数的平方的尾数等于该熟自身的自然数 例如:
25*25=625 76*76=5776 9376*9376=87909376

我自己写了下代码 最后那部分判断该数平方的尾数是不是等于该数的那后面出问题了 我找了半天 找不出逻辑错在哪 请高手指点下 先谢了:

int num(int n) //计算数的位数
{
int r,coun=0;
while(0!=r)
{
r=n/10;
n/=10;
coun++;
}
return coun;
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main()
{
int n,m,i,s,r,j,t;
int *p = NULL;
s = 0;

for(m=0;m<100;m++)
{

n=m*m;
// printf("%d \n",n);
r=num(m);
// printf("%d \n",r);
p = (int *)malloc(r*sizeof(int));
for(i=1,p[0]=n%10;i<r;i++) //得到平方数的尾数
{
n = n-p[i-1];
p[i] = n/10%10;
n=n/10;
}
//for(i=0;i<r;i++) //打印尾数数字
// printf("%d ",p[i]);

for(i=1;i<r;i++)
{
for(j=1;j<=i;j++)
{
p[i] = p[i]*10;

}
s +=p[i];

}

s=s+p[0]; //求出尾数
printf("\n%d ",s);


if(s == m) //比较尾数和该数是否相等
printf("\n%d ",m);

printf("\n");
}

}

搜索更多相关主题的帖子: include return 自然数 
2006-11-27 11:37
science
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-11-22
收藏
得分:0 
我根据题目设计了一个检验是不是自留数的程序,仅供参考!
可能也不是很完善!
main()
{
long i,k,m=1,p;
printf("enter number i: ");
scanf("%ld",&i);
k=i*i;
p=k-i;
while(i>0)
{m=m*10;
i=i/10;
}
if(p%m==0)
printf(" ok %ld",k);
else printf("false");
while(1);
}

2006-11-27 12:43
science
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2006-11-22
收藏
得分:0 
想输出10000以内的自留数,但怎么运行后是黑屏呢?
赐教!
main()
{
long i,k,m=1,p;
for(i=1;i<=10000;i++)
{k=i*i;
p=k-i;
while(i>0)
{m=m*10;
i=i/10;
}
if(p%m!=0)
continue;
else
printf(" %ld*%ld=%ld",i,i,k);
}
getch();
return 0;
}

2006-11-27 13:10
smartwind
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2006-11-13
收藏
得分:0 
楼主的算法实在太麻烦了,帮你改改好了

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main()
{
int n,m,i,r,s;
for(m=1;m<100;m++)
{
n=m*m;
r=log10(m)+1;
s=n%(int)pow(10,r);
if(s == m) //比较尾数和该数是否相等
{
printf("%d\n",m);
}
}
getch();
}

2006-11-27 16:13
xiaona521
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-23
收藏
得分:0 
新手,算法复杂 多谢各位指导 !汗~~

2006-11-27 16:32
xiaona521
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-23
收藏
得分:0 
getch() 无回显从控制台取一个字符
怎么理解
main函数最后 我见过很多写法
while(1);
return 0;
getch();
一直搞不懂到底什么区别,分别什么时候用,望赐教!

2006-11-27 18:32
快速回复:自守数 不知道问题出哪了!
数据加载中...
 
   



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

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