奇怪的数字
时间: 1ms 内存:128M
描述:
最近小明对数字产生了浓厚的兴趣,他想找到一种数字:一个整数 i(0<i<1000),
它的各位数(个位、十位、百位)可以被一个数(n , 1<n<9)整除,那么就说 i 是n的奇怪数字。
整数 i =abc, a、b、c分别是i的百位,十位,个位,a、b、c都可以被n整除。
输入:
n
输出:
0至1000之间,各位数可以被n整除的数的数量
示例输入:
9
示例输出:
7
提示:
参考答案(内存最优[1120]):
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i;
int k=0;
for(i=1;i<=9;i++)
{
if(i%n==0)
{
k++;
//printf("%d\n",i);
// printf("\n");
}
}
//printf("%d\n",k);
//printf("\n");
for(i=10;i<=99;i++)
{
int x=i%10;//个位
int y=i/10;//十位
if(x%n==0&&y%n==0)
{
k++;
// printf("%d\n",i);
// printf("\n");
}
}
//printf("%d\n",k);
//printf("\n");
for(i=100;i<=999;i++)
{
int x=i%10;//个位
int z=i/100;//百位
int y=(i-z*100)/10;
if(x%n==0&&y%n==0&&z%n==0)
{
k++;
// printf("%d\n",i);
// printf("\n");
}
}
printf("%d",k);
}
参考答案(时间最优[1]):
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int i;
int k=0;
for(i=1;i<=9;i++)
{
if(i%n==0)
{
k++;
//printf("%d\n",i);
// printf("\n");
}
}
//printf("%d\n",k);
//printf("\n");
for(i=10;i<=99;i++)
{
int x=i%10;//个位
int y=i/10;//十位
if(x%n==0&&y%n==0)
{
k++;
// printf("%d\n",i);
// printf("\n");
}
}
//printf("%d\n",k);
//printf("\n");
for(i=100;i<=999;i++)
{
int x=i%10;//个位
int z=i/100;//百位
int y=(i-z*100)/10;
if(x%n==0&&y%n==0&&z%n==0)
{
k++;
// printf("%d\n",i);
// printf("\n");
}
}
printf("%d",k);
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。