c语言5个数,正好表示1-9的数且不重复,按一定的排序,后一个比前一个大9
分析 设最小的数是low 则剩下的数是low low+9 low +18 low+27 low+36
可以看出假如 low = 8 则,这组数为
8 17 26 35 44
观察发现
这五个数个位数是递减的。二十位数是递增。
所以max /10 =4; 根据范围确定是4
low /10 = 0 最小整数 ;
low%10=low 是这5个数中最大余数9
所以low = 9 ; 其余分别是 18 27 36 45 数字就是 9 18 27 36 45 haovcf 发表于 2014-6-14 02:56 static/image/common/back.gif
分析 设最小的数是low 则剩下的数是
low low+9 low +18 low+27 low+36
可以看出假如 low = 8 则,这组数 ...
分享一下你的代码 三楼正解
五个数字不难发现十位递增,各位递减
很明显就是9 18 27 36 45
#include <stdio.h>
void sortnum(int s[] ) ;
int checknum( int s[] ) ;
int main( void )
{
int a = {0} ;
int i = 0 ,j = 0 , n = 0;
int firstnum = 0 ;
for( i = 1 ; i< 10 ; i++ )
{
for(j=i ; j< 46 ; j += 9 )
{
a = j/10;
a = j%10;
}
firstnum = a ;
sortnum( a ) ;
if( checknum( a ) )
break ;
n = 0 ;
}
printf("%d\n", firstnum ) ;
return 0 ;
}
voidsortnum( ints[] )
{
int i , j;
int tmp = 0 ;
for(i = 0 ; i< 10 ; i++)
for(j = i+1 ; j<10 ; j++ )
{
if( s> s )
{
tmp = s ;
s = s ;
s =tmp ;
}
}
}
int checknum( int s[] )
{
int i ;
int rightnum = 1 ;
for(i = 0 ; i< 10 ; i++ )
{
if( s != i)
{
rightnum = 0 ;
break ;
}
}
return rightnum ;
}
各位参考一下
num =
i = 0, j = 0, n = 0, m = 0
for (i in num)and (j in num):
if num!=num:
n=num*10+num
if (n-m == 9):
m = n
print(m)
elif:
j += 1
continue
elif:
i += 1
continue
偶用python这样写,运行时报错:invalid syntax(无效语法),该怎么改才能达到上述目的呢,有劳路过大神,大牛支招支招,感谢感谢 还是悬赏吧,URL是:
用 python 解 C 的问题,失败了,求大神支招
http://bbs.fishc.com/thread-48763-1-1.html
{:7_174:} 已解决!谢谢
页:
[1]