当前位置:首页 > ACM程序设计 赛题样例
{
if((x+=m)>L) x-=L; if((y+=n)>L) y-=L; }
printf(\,t); }
敲七
Problem
输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)
Input
一个整数N。(N不大于30000)
Output
从小到大排列的不大于N的与7有关的数字,每行一个。
Sample Input 20
Sample Output 7 14 17
#include
#define MAX_INPUT 30000
int main(void) {
size_t digits = 0; int range, temp;
const char *iter = NULL;
printf(\请输入一个不大于%d的数: \, MAX_INPUT); scanf(\, &range); temp = range;
while (temp) { temp /= 10; ++digits; }
char *buffer =
(char *)malloc(sizeof (char) * digits + 1); assert(buffer);
for (temp = 7; temp <= range; ++temp) { if (!(temp % 7)) { printf(\, temp); continue; }
snprintf(buffer, digits + 1, \, temp);
for (iter = buffer; *iter; ++iter) if (*iter == '7') { printf(buffer); printf(\); break; } }
free(buffer);
return 0; }
#include
printf(\请输入一个不大于30000的整数\\n\); scanf(\,&n); for(i=1;i } void fen(int x) { int a,b,c,d; a=x000000; b=(x000000-a)/10; c=(x00000-a-10*b)/100; d=(x000-a-10*b-100*c)/1000; if(a==0) a=1; if(b==0) b=1; if(c==0) c=1; if(d==0) d=1; if(x%7==0||a%7==0||b%7==0||c%7==0||d%7==0) printf(\,x); } #include int n,i; scanf(\,&n); for(i=7;i<=n;i++) { if(i==7||i%7==0) { printf(\,i); } } } #include int countNumber(int v ) { int i = 1 ; for( i ; ( v /= 10 ) != 0 ; ++ i ) ; return i ; } /***************************************************/ void findSeven( void ) { int num = 0 , i = 1 , j = 0 , k = 1 , t = 0 ; scanf( \ , &num ) ; for( i ; i <= num ; ++i ) { if( i % 7 == 0 ) printf(\ , i ); else { t = countNumber( i ) ; for( j = 1 ; j <= t ; ++j ) { if( ( ( i / k ) % 10 ) == 7 ) { printf(\ , i ); break ; } k *= 10 ; } k = 1 ; } } } /***************************************************/ int main( void ) { findSeven() ; system( \ );
共分享92篇相关文档