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整除。
展开
 我来答
hap487
推荐于2016-10-16 · TA获得超过282个赞
知道答主
回答量:116
采纳率:0%
帮助的人:185万
展开全部
#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);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式