精华内容
下载资源
问答
  • 整除光棍 c语言

    2020-05-11 22:06:20
    传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个...

    【Description】
    这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

    提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。
    【Input】
    输入在一行中给出一个不以5结尾的正奇数x(< 1000)。
    【Output】
    在一行中输出相应的最小的s和n,其间以1个空格分隔。

    【Sample Input】
    31
    【Sample Output】
    3584229390681 15

    #include<stdio.h>
    int main(){
    	int x,ws=1;
    	scanf("%d",&x);
        long long int res,gg=1;
    	while(gg%x!=0){
    		gg=10*gg+1;
    		ws++;
    	}
    		res=gg/x;
    	    printf("%lld %d",res,ws);
    }
    
    展开全文
  • L1-046 整除光棍 C语言

    2020-01-31 11:52:59
    传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个...

    这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

    提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。
    输入格式:

    输入在一行中给出一个不以5结尾的正奇数x(<1000)。
    输出格式:

    在一行中输出相应的最小的s和n,其间以1个空格分隔。
    输入样例:

    31

    输出样例:

    3584229390681 15

    #include<stdio.h>
    #include<stdlib.h>
    
    typedef struct{
    	int number[250];
    	int lenth;
    }integerT;
    
    int ORD(int x,int n);
    integerT IntDivide(integerT a,int b);
    integerT SingleNumber(int lenth);
    void PrintInt(integerT n);
    
    main()
    {
        int ord,n;
        integerT quotient;
        scanf("%d",&n);
        ord=ORD(10,n*9);
        PrintInt(IntDivide(SingleNumber(ord),n));
        printf(" %d\n",ord);
    }
    
    int ORD(int x,int n)
    {
    	int ord=1,a;
    	x=x%n;
    	a=x;
    	while(a!=1){
    		a=(a*x)%n;
    		ord++;
    		if(ord>=n) return -1;
    	}
    	return ord;
    } 
    
    integerT IntDivide(integerT a,int b)
    {
    	int i,r=0;
    	integerT quotient;
    	quotient.lenth=a.lenth;
    	if(b==0) exit(0);
    	for(i=a.lenth-1;i>=0;i--){
    		quotient.number[i]=(r*10000+a.number[i])/b;
    		r=(r*10000+a.number[i])%b;
    	}
    	if(quotient.number[quotient.lenth-1]==0) quotient.lenth--;
    	return quotient;
    }
    
    integerT SingleNumber(int lenth)
    {
    	int i,q,r;
    	integerT singlenum;
    	q=lenth/4;
    	r=lenth%4;
    	if(r){
    		singlenum.lenth=q+1;
    		singlenum.number[q]=0;
    	    for(i=0;i<r;i++){
    	    singlenum.number[q]=singlenum.number[q]*10+1;
    	    }
    	}else{
    		singlenum.lenth=q;
    	}
    	for(i=0;i<q;i++){
    		singlenum.number[i]=1111;
    	}
    	return singlenum;
    }
    
    void PrintInt(integerT n)
    {
    	int i;
    	for(i=n.lenth-1;i>=0;i--){
    		if(i==n.lenth-1){
    		printf("%d",n.number[i]);
    	    }else{
    	    	printf("%04d",n.number[i]);
    		}
    	}
    }
    
    展开全文
  • 7-42 整除光棍C语言) 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序...

    7-42 整除光棍(C语言)

    这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

    提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。

    注:题目来自中国大学MOOC浙江大学“程序设计入门——C语言”的练习题目集的第I阶段,包含变量、语句、循环部分,不包括数组、结构、基础算法

    输入格式:

    输入在一行中给出一个不以5结尾的正奇数x(<1000)。

    输出格式:

    在一行中输出相应的最小的sn,其间以1个空格分隔。

    输入样例:

    31
    

    输出样例:

    3584229390681 15
    

    #include<stdio.h>
    int main()
    {
    	int  x;
    	scanf("%d",&x);
    	long long s;		
    	long long gg = 1;		//gg光棍
    	int n = 1, rem;			//n计位,rem表余数
    	while(gg<x)				//将光棍数增至大于x的第一个数
    	{
    		gg = gg*10+1;
    		n++;
    	}
    	while(1)
    	{
    		s = gg/x;
    		rem = gg%x;
    		printf("%lld",s);	//按照手算的方法,商逐位输出
    		if( rem == 0)		
    		{
    			break;
    		}
    		else
    		{
    			gg = rem*10+1;	//除不尽时末尾加1
    		}
    		n++;
    	}
    	printf(" %d",n);
    	return 0;
    }
    
    展开全文
  • PTA-整除光棍C语言

    千次阅读 2018-10-26 19:56:36
    传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个...

    这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

    提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。

    输入格式:
    输入在一行中给出一个不以5结尾的正奇数x(<1000)。

    输出格式:
    在一行中输出相应的最小的s和n,其间以1个空格分隔。

    输入样例:
    31
    输出样例:
    3584229390681 15
    分析:考查除法的模拟 直接除在19就出错了,从左边开始除得到整数输出,留下余数*10+1,以此循环,当除得的整数以及余数都为0时即得到该数。

    #include<stdio.h>
    int main()
    {
    	int num=0,n=0,mask=1,i=0;   //num:输入的正奇数 n:记录1的位数 
    	scanf("%d",&num);
        while(1){
        	if(mask/num>0||i){
        		printf("%d",mask/num);
        		i++;                                    //i控制整数前面的0不输出后面的0输出
    		}
    		if(mask%num==0){
    			printf(" ");
    			printf("%d\n",++n);
    			break;
    		}else{
    			mask=mask%num;
    			mask=mask*10+1;
    			n++;
    		}
    	}
        return 0;
    }
    
    展开全文
  • 原题链接 ...你会发现当除到第15个1的时候31整除了这个数,所以我们的答案就是15个1。这样子可以极大的减少时间复杂度。 代码如下: #include <stdio.h> int main(){ long long t=1,n; i...
  • 7-42 整除光棍 (20分) 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要...
  • L1-046 整除光棍 (20分)(C语言) 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,...
  • 7-5 整除光棍 (20 分) 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要...
  • L1-046 整除光棍 (20分)(C语言

    千次阅读 2020-02-15 23:45:41
    L1-046 整除光棍 (20分) 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序...
  • 整除光棍

    2020-04-07 16:37:42
    整除光棍 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数...
  • 就是只先生成一部分光棍数,在例子里是111,然后进行除法,相当于是从最高位开始计算结果(手写除法运算的步骤),当余数不为0,就在余数末尾加1当除数(不是加法的加,而是拼凑的意思,即1“加”1,是11)。...
  • 传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个...
  • 7-42 整除光棍 (20 分) 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的...
  • 7-2 整除光棍

    2020-01-09 12:15:08
    7-2 整除光棍 文章目录7-2 整除光棍题目描述:输入格式:输出格式:第一次错误示范正确的程序运行过程:错误的程序运行过程:原因分析:正确的程序代码: 题目描述: 这里所谓的“光棍”,并不是指单身汪啦~ 说的...
  • 整除光棍 (20 分)

    2021-05-13 10:34:59
    整除光棍 (20 分) 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入...
  • L1-046. 整除光棍

    2018-01-30 20:44:12
    整除光棍 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 翁恺 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的...

空空如也

空空如也

1 2 3 4 5
收藏数 93
精华内容 37
关键字:

整除光棍c语言

c语言 订阅