C语言关于自守数的python 字典排序输出序输出

int i,j,x;
scanf(%s,s);
for(i=0;i<strlen(s)-1;i++)
for(j=i+1;j<strlen(s);j++)
if(s[i]<s[j])
s[i]=s[j];
printf("%s",s);
其他答案(共1个回答)
相关问答:12<a href="/b/8WVX3CF2F.h...
看看C语言书,或者在大学图书馆或直接在网上下一个三级网络技术上机软件,里面自带答案的很多。肯定能解决字符串排序问题。
/*本程序使用简单选择法排序(从小到大)*/
void main()
int a[10],i,j,k,...
字典和日记和后面的任务有关,要做后面就不要扔
血之耳环仿造品和活动资金没用,耳环带上1000多血的人就剩100血了……资金卖掉就好……
琥珀4不管多少级1个人都...
int main()
void swap(int *,int *);
答: 有什么软件是介绍孕期的食谱的吗?看着食谱就不用自己想了。
答: 好在有许多成熟的安全和网络技术,例如虚拟私有网络(VPN)和防火墙等,能够极大地提高Web服务应用的安全和性能,让开发者拥有选择安全技术的自由,而不是非得使用尚...
答: 某些ADSL调制解调器使用USB接口与电脑相连,需要在电脑上安装指定的软件以添加虚拟网卡来进行通信
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 1453 人关注过本帖
标题:自守数是指一个数的平方的尾数等于该数自身的自然数。如:76的平方=5776,求 ...
等 级:新手上路
&&已结贴√
&&问题点数:20&&回复次数:18&&&
自守数是指一个数的平方的尾数等于该数自身的自然数。如:76的平方=5776,求出以内的自守数并同时输出各个自守数的位数。
自守数是指一个数的平方的尾数等于该数自身的自然数。如:76的平方=5776,求出以内的自守数并同时输出各个自守数的位数。
输出内所有的自守数,每行输出一个数同时输出其位数。
1:&&&&&& 1
1:&&&&&& 5
1:&&&&&& 6
2:&&&&&&25
2:&&&&&&76
3:&&&&&376
3:&&&&&625
4:&&& 9376
5:&&&90625
6:&&109376
6:&&890625
7: 2890625
7: 7109376
做了好几次都是错误&&请大神帮忙下!!!!!!!!!
搜索更多相关主题的帖子:
等 级:版主
威 望:113
帖 子:1380
专家分:6943
#include&stdio.h&
#include&math.h&
#define TOP
int main()
&&& long i,&&&&&&&&&&&& //digits是位数
&&& for(i=1;i&TOP;i++)
&&&&&&&&digits=(long)log10(i)+1;
&&&&&&&&if((i*i-i)%(long)pow(10,digits)==0)
&&&&&&&&&&&&printf(&%lld\t%9lld\n&,digits,i);
&&& return 0;
//写了个这个出来,但是上了五位数答案就是错的,还没找到原因
来 自:长长久久
等 级:贵宾
威 望:22
帖 子:3880
专家分:11078
回复 2楼 yangfrancis
很明显这样穷举是数据越界了~
案例当中是有规律的~如果用规律来计算就不用穷举~
有两种解决方案~要么用64位要么用数组保存数据来进行大位数乘法~
琢磨一下应该可以弄出来~
[code]/*~告诫自己:不要为了细微的效率差别而牺牲可读性!~更~*/[/code]
等 级:新手上路
回复 2楼 yangfrancis
麻烦找下 我也在寻找呢
来 自:长长久久
等 级:贵宾
威 望:22
帖 子:3880
专家分:11078
还是回一下~明显个位数只能为5和6
因为一个数的尾数不变~平方数的尾数也不会变~
所以可以用迭代来进行搜索~
举个例子~第一次先搜1~10这样搜出了5和6成立的~
然后第二次就搜15 16 25 26 35 36……这样
这样在100以内就搜出了25 和76是成立的~
第三次搜125 176 225 276 325 376这样……
把数据溢出问题解决就可以了~
[code]/*~告诫自己:不要为了细微的效率差别而牺牲可读性!~更~*/[/code]
等 级:版主
威 望:113
帖 子:1380
专家分:6943
回复 3楼 九转星河
用64位怎么用法呢?_int64吗?这个我试过,还是有问题。大位数乘法就背油了。等于还要专门另写个程序。
只遍历个位5, 6的数是个很好的策略
等 级:版主
威 望:113
帖 子:1380
专家分:6943
//还是解决了,可以不动用大位数乘法
#include&stdio.h&
#include&math.h&
long GetDigit(long m,unsigned int i)//按数位返回,若m=1024,i=1,返回4(个位),若i=4,则返回1000(千位)
&&& return m%(long)pow(10,i)-((i&1)?m%(long)pow(10,i-1):0);
long GetTail(long m,unsigned int i)//按尾数返回,返回m的后i位
&&& return m%(long)pow(10,i);
int main()
&&& long i,j;
&&&//个位值
&&& long factor1,factor2;
&&&//乘积的尾数
&&& for(i=1;i&N;i++)
&&&&&&&&ones=i%10;
&&&&&&&&if(ones==1||ones==5||ones==6)
&&&&&&&&&&&&tail=0;
&&&&&&&&&&&&digits=log10(i)+1;
&&&&&&&&&&&&for(j=1;j&=j++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& tail+=GetDigit(i,digits-j+1)*GetTail(i,j);
&&&&&&&&&&&&}
&&&&&&&&&&&&if(tail%(long)pow(10,digits)==i)
&&&&&&&&&&&&&&& printf(&%d\t%9ld\n&,digits,i);
&&& //printf(&%ld\n&,GetTail());
&&& return 0;
等 级:职业侠客
帖 子:99
专家分:360
使用位运算应该可以,用&,(x*x)&(x)==x,则是该数自然数,等会有空了我验证一下
等 级:职业侠客
帖 子:99
专家分:360
以下是引用yanzy在 11:52:10的发言:
使用位运算应该可以,用&,(x*x)&(x)==x,则是该数自然数,等会有空了我验证一下
-----------------
这个想法是错的
来 自:湖北
等 级:版主
威 望:98
帖 子:1009
专家分:5367
回复 7楼 yangfrancis
就是到大数出数有点慢。估计按位乘,对结果按位对比余数并按位除可避开大数溢出。
版权所有,并保留所有权利。
Powered by , Processed in 0.073854 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 3789 人关注过本帖
标题:一个关于自守数的问题
请各位帮个忙
急………………
等 级:论坛游民
帖 子:131
专家分:62
结帖率:92.31%
&&已结贴√
&&问题点数:10&&回复次数:9&&&
一个关于自守数的问题
请各位帮个忙
急………………
&&& 自守数是指一个数的平方的尾数等于该数自身的整数。
例如:25的平方=625&&&76的平方=5776&&&9376的平方=
请求出200000以内的自守数
搜索更多相关主题的帖子:
等 级:贵宾
威 望:103
帖 子:3280
专家分:12654
程序代码:#include&stdio.h&
#include&math.h&
int main()
&&& long long
&&& int i, k,
&&& for(i = <font color=#; i & <font color=#000; i++)
&&&&&&&&a =
&&&&&&&&a *=
&&&&&&&&k = log10(i) + <font color=#;
&&&&&&&&for(m = <font color=#; k--) m *= <font color=#;
&&&&&&&&a %=
&&&&&&&&if(a == i) printf(&%d\n&, i);
&&& return <font color=#;
重剑无锋,大巧不工
等 级:论坛游民
帖 子:131
专家分:62
回复 2楼 beyondyf
小弟在此谢谢拉呵呵
等 级:论坛游民
帖 子:131
专家分:62
回复 楼主 因为曾今年少
我在编译的时候报错 请问这是什么原因啊 怎么改最合适
warning C4244: '=' : conversion from 'double ' to 'int ', possible loss of data
附件: 您没有浏览附件的权限,请
等 级:贵宾
威 望:103
帖 子:3280
专家分:12654
这是报警提示,double向int转换时会损失精度,所以编译器在提醒你。我代码的本意就是删除小数部分。
不想看到这条提示可以进行显示转换。
k = (int)log10(i) + 1;
重剑无锋,大巧不工
等 级:论坛游民
帖 子:131
专家分:62
回复 4楼 因为曾今年少
我做了这个强制转换  但是输出的结果却丢失了两个数 只有这些数被输出啦 是什么原因呢 还有就是做了 强制转换的话 又出现了 新的情况
error C2632: 'long' followed by 'long' is illegal
#include&stdio.h&
#include&math.h&
int main()
&&& int i, k,
&&& for(i = 1; i & 200000; i++)
&&&&&&&&a =
&&&&&&&&a *=
&&&&&&&&k = (int)log10(i)+1;
&&&&&&&&for(m = 1; k--) m *= 10;
&&&&&&&&a %=m;
&&&&&&&&if(a == i) printf(&%d\n&, i);
&&& return 0;
请问是什么问题导致的
修改为这样的话
#include&stdio.h&
#include&math.h&
int main()
&&& int i, k,
&&& for(i = 1; i & 200000; i++)
&&&&&&&&a =
&&&&&&&&a *=
&&&&&&&&k = (int)log10(i)+1;
&&&&&&&&for(m = 1; k--) m *= 10;
&&&&&&&&a %=m;
&&&&&&&&if(a == i) printf(&%d\n&, i);
&&& return 0;
是不是精度导致的  还是那里有问题
等 级:论坛游民
帖 子:68
专家分:46
自守数是指一个数的平方的尾数等于该数自身的整数。
等 级:贵宾
威 望:103
帖 子:3280
专家分:12654
如果long够用我就不会用long long了。在32位编译器里long和int是一样的。long long表示64位整型,在C99标准中支持。
显然你的编译器不支持这个关键字。如果你用的是VC6,请使用_int64。如果是TC,建议你换个编译器。80年代的东西,该淘汰就淘汰了吧。
重剑无锋,大巧不工
等 级:论坛游民
帖 子:131
专家分:62
回复 7楼 者好爱程编
恩好的  学习啦 谢谢啦 呵呵  主要是这个软件用起来对于新手来说比较方便
等 级:论坛游民
帖 子:131
专家分:62
回复 8楼 beyondyf
谢谢啦 呵呵  以后还请多多指教
版权所有,并保留所有权利。
Powered by , Processed in 0.055661 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reserved}

我要回帖

更多关于 字典序输出 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信