C语言程序设计:整数问题
输入一个整数n(0<=n<9),请输出满足以下条件的n位正整数的个数:要求该n位整数的从高位开始前1位可以被1整除,该n位整数前2位可以被2*2整除,该整数前3位可以被3...
输入一个整数n(0<=n<9),请输出满足以下条件的n位正整数的个数:
要求该n位整数的从高位开始前1位可以被1整除,该n位整数前2位可以被2*2整除,该整数前3位可以被3*3整除,该整数前4位可以被4*4整除……。即该整数前k位都可被k平方整除。
请输出符合该条件的n位正整数的数量。
例如:n=1,则符合条件的1位正整数为1~9,输出答案9。n=2,符合条件的正整数为:12,16,20,24,28,32,36,40,44,48,52, 56,60,64,68,72,76,80,84,88,92,96,则输出答案22。当n=4时,2432就是一个符合题意的整数。第一位2可以被1整除;前2为24可以被4整除;前3位243可以被9整除;整个4位2432可以被16整除。 展开
要求该n位整数的从高位开始前1位可以被1整除,该n位整数前2位可以被2*2整除,该整数前3位可以被3*3整除,该整数前4位可以被4*4整除……。即该整数前k位都可被k平方整除。
请输出符合该条件的n位正整数的数量。
例如:n=1,则符合条件的1位正整数为1~9,输出答案9。n=2,符合条件的正整数为:12,16,20,24,28,32,36,40,44,48,52, 56,60,64,68,72,76,80,84,88,92,96,则输出答案22。当n=4时,2432就是一个符合题意的整数。第一位2可以被1整除;前2为24可以被4整除;前3位243可以被9整除;整个4位2432可以被16整除。 展开
1个回答
展开全部
#include<stdio.h>
void main(void)
{
int n,count=0,i,j,k,x;
int max=1,min=9;
printf("shuru n:");
scanf("%d",&n);
for(i=n;i>1;i--)
{
max*=10;
min=min*10+9;
}
for(j=min;j<=max;j++)
{
x=j;
for(k=n;k>0;k--)
{
if(x%(k*k)!=0)break;
x/=10;
}
if(k<0)
count++;
}
printf("jieguo you %d ge!",count);
}
void main(void)
{
int n,count=0,i,j,k,x;
int max=1,min=9;
printf("shuru n:");
scanf("%d",&n);
for(i=n;i>1;i--)
{
max*=10;
min=min*10+9;
}
for(j=min;j<=max;j++)
{
x=j;
for(k=n;k>0;k--)
{
if(x%(k*k)!=0)break;
x/=10;
}
if(k<0)
count++;
}
printf("jieguo you %d ge!",count);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询