精华内容
下载资源
问答
  • C语言--大整数的因子

    2021-02-20 15:25:34
    =9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。 2.问题分析 首先,这是一个大整数的除法,所以不可能用常规的整数取余来做。这个时候就需要利用一维数组了。首先我们来模拟一下平时我们做除法时的...


    1.问题描述

    已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。

    2.问题分析

    首先,这是一个大整数的除法,所以不可能用常规的整数取余来做。这个时候就需要利用一维数组了。首先我们来模拟一下平时我们做除法时的步骤。我们以4399这个数为例,我们用2来除一下,是不是这样的:
    在这里插入图片描述
    所以,我们看一个数能不能被一个数整除,是不是看最后那步的余数是不是1。那么这就给我们提供了一个解题思路。我们可不可以用一个长度为30的一维数组来存储这个大数,然后从最高位开始,依次往后除,保留每次的余数。因为k的范围是2到9所以余数不可能超过19
    我们每次除的时候都要保留上一位除时的余数,如果不等于1是不是要将上次得到余数*10与当前位数字相加后再求余数。

    3.具体代码讲解

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char str[30];
    	gets(str);
    	int k=2;
    	int len=strlen(str),count=0;
    	for(k=2;k<=9;k++)
    	{
    		int n=0;
    		for(int i=0;i<len;i++)
    		{
    			char c=str[i]-'0'+n*10;
    			n=c%k;
    		}
    		if(n==0)
    		{
    		printf("%d ",k);
    		count++;
    	}
    	}
    	if(count==0)
    	printf("none") ;
    }
    

    总结

    以后遇到类似的大数相加,相减等等问题的时候,都可以从最初我们是如何做加减乘除出发,利用一维数组来做。大家一起加油!!!!

    展开全文
  • 已知正整数k满足2<=k<=9,现给出长度最大为30位十进制非负整数c,求所有能整除ck. 输入描述: 若干个非负整数c,c位数<=30 每行一个c 输出描述: 每一个c结果占一行 1) 若存在满足 c%k == 0 ...

    题目描述

    已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k.

    输入描述:

    若干个非负整数c,c的位数<=30
    每行一个c

    输出描述:

    每一个c的结果占一行
    1) 若存在满足 c%k == 0 的k,输出所有这样的k,中间用空格隔开,最后一个k后面没有空格。
    2) 若没有这样的k则输出"none"
    
    注意整数溢出问题
    不要对-1进行计算

    示例1

    输入

    复制

    30
    72
    13
    -1
    

    输出

    复制

    2 3 5 6
    2 3 4 6 8 9
    none

    #include<stdio.h>
    #include<math.h>
    #include<string.h>

    int main()
    {
        char str[31];
        int a[31];
        int len,k,i,j,num,count;
        while(scanf("%s",str)!=EOF)
        {
            if(str[0]=='-') break;
            len=strlen(str);
            for(i=0;i<len;i++)
            {
                a[i]=str[i]-'0';
            }
            count=0;
            for(k=2;k<=9;k++)
            {
                num=0;
                for(j=0;j<len;j++)
                {
                    num=(num*10+a[j])%k;
                }
                if(num==0)
                {
                    if(count>0) printf(" ");
                    printf("%d",k);
                    count++;
                }
            }
            if(count==0)
                printf("none\n");
            else
                printf("\n");
        }
        return 0;
    }

    展开全文
  • 整数的因子//C语言

    2020-02-21 22:05:06
    已知正整数k满足2<=k<=9,现给出长度最大为30位十进制非负整数c,求所有能整除ck。 输入 一个非负整数c,c位数<=30。 输出 若存在满足 c%k == 0 k,从小到大输出所有这样k,相邻两个数之间用单个...

    描述

    已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。

    输入
    一个非负整数c,c的位数<=30。
    输出
    若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的k,则输出"none"。

    样例输入
    30

    样例输出
    2 3 5 6

    #include<stdio.h>
    int fun(char a[], int b)
    {
    	int i, ans=0;
    	for (i = 0; a[i] != '\0'; i++)
    		ans = (ans * 10 + (a[i] - '0')) % b;
    	return ans;
    }
    int main()
    {
    	int i, x;
    	char c[31];
    	scanf("%s", &c);
    	for (i = 2,x=0; i < 10; i++)
    	{
    		if (fun(c, i) == 0) printf("%d ", i), x++;
    	}
    	if (x == 0) printf("none");
    	return 0;
    }
    

    事在人为,加油。

    展开全文
  • 输入正整数n(2<=n<=1000),计算并输出n的所有因子(包括1,不包括自身)之和。要求程序定义一个FacSum ()函数和一个main()函数,FacSum ()函数计算并返回n的所有因子之和,其余功能在main()函数中实现。 ...

    /*****
    题目描述
    输入正整数n(2<=n<=1000),计算并输出n的所有正因子(包括1,不包括自身)之和。要求程序定义一个FacSum ()函数和一个main()函数,FacSum ()函数计算并返回n的所有正因子之和,其余功能在main()函数中实现。
    int FacSum(int n)
    {
    //计算n的所有正因子(包括1,不包括自身)之和sum,本函数返回sum
    }
    输入
    输入正整数n(2<=n<=1000)。
    输出
    输出n的所有正因子(不包括自身)之和。
    样例输入 Copy
    1000
    样例输出 Copy
    1340
    *****/

    #include <stdio.h>
    #include <stdlib.h>
    
    int FacSum(int n);
    int main()
    {
        int n;
        scanf("%d",&n);
        printf("%d",FacSum(n));
        return 0;
    }
    int FacSum(int n)
    {
    //计算n的所有正因子(包括1,不包括自身)之和sum,本函数返回sum
        int i,sum;
        sum = 0;
        for (i = 1;i<n;i++)
        {
            if (n % i == 0)
            sum += i;
        }
        return sum;
    }
    
    
    展开全文
  • 满意答案我这个效率最高,最直观 #include #include void main(){_开始:printf("请输入待分析的正整数\n");int n待分析;scanf("%d", &n待分析);if(n待分析 < 0)goto _开始;int n因子上限 = (int) sqrt(...
  • 素数因子 C语言

    2020-11-19 07:50:36
    输入一个正整数,的所有素数因子。 (质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。) 输入 输入为一个正整数,如:15 输出 输入为它的所有素数因子,以空格为分隔,如:3 5 解答 #...
  • C语言因子之和

    千次阅读 2018-11-02 20:58:37
    题目描述:求正整数n的所有因子之和(因子不包括1和其本身) 1和质数的因子之和都是0 输入: 输入一个正整数n 输出: 输出整数n的因子之和 #include &lt;stdio.h&gt; int main() { int n,sum=0,a=2,b; /*b...
  • =1 000),输出m ~n 之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数factorsum(number),它的功能是返回number 的因子和。 例如,factorsum(12)的返回值是16(1 +2 +3 +4 +6)。 【输入输出样例1】 ...
  • C语言 蓝桥杯 素因子去重

    千次阅读 2020-05-09 18:48:04
     给定一个正整数n,一个正整数p,满足p仅包含n的所有因子,且每个素因子的次数不大于1 输入格式  一个整数,表示n 输出格式  输出一行,包含一个整数p。 样例输入 1000 样例输出 10 数据规模和约定  n<=...
  • 所谓完数,是指它的因子之和刚好是其本身的正整数。如6的因子是1,2,3,而1+2+3=6,所以6是完数,且是最小的完数。 现在,用户输入N,请输出N以内的所有完数。 输入格式: 一个正整数N(6<=N<=10000)。 输出...
  • <p>1.(统计正数和负数的个数,...然后以升序显示它的所有最小因子(重复的数字只显示一次)。例如,若输入的整数是120,那么输出就应该是:2,3,5。</p>
  • 功能:输入一个正整数,按照从小到大的顺序输出它的所有因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )最后一个数后面也要有空格 输入描述: 输入一个long型整数 输出描述: 按照从小到大的顺序输出它的所有...
  • 之间的所有完数。 【输入形式】 先后输入两个正整数m和n,用逗号分隔 【输出形式】 输出所有完数,每两个数之间用逗号分隔。若输入非法,则输出“error” 【样例输入】 <p>1,2000 【样例...
  • 实例022 一个正整数的所有因子 从键盘输入一个正整数,它的所有因子。 #include <stdio.h> main() { int i, j; printf("please input:\n"); scanf("%d", &i); for (j = 1; j <= i; j++) if ...
  • 解题基础:1)整数的唯一分解定理:任意正整数都有且只有一种方式写出其素因子的乘积表达式。,其中为素数2)约数和公式:对于已经分解的整数,A的所有因子之和为3)同余模公式:(a+b)%m=(a%m+b%m)%m(a*b)%m=(a%m*b%m)%...
  • 对称数c语言Tag内容描述:1、题目6 一个5位数 判断它是不是回文数 即12321是回文数 个位与万位相同 十位与千位相同 include stdio h main int a ...2、完数(5分)题目内容:一个正整数的因子所有可以整除它的正整数...
  • 题目:1.输入两个正整数m和n,其最大公约数和最小公倍数。 2.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程  找出1000以内的所有完数。
  • 2)计算a的所有不同的质因子(包括1)之积,记为s; 3)如果s等于b,则通过验证,输出“OK”,否则输出“Err”。 输出格式参见以下示例。 运行示例1: 输入:588 42 输出:588: 1*2*3*7=42, OK 说明:输入数为588...
  • 所谓完数是指这个数恰好等于除他本身外的所有因子之和。例,6的因子为1,2,3,6=1+2+3,所以6是完数。 3.奇偶归一猜想——对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,...
  • 输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数符号一定出现在分子前面。 输出格式: 输出上述数字和最简形式 —— ...
  • C语言自学笔记(19)

    2018-11-25 17:20:38
    1、将一个正整数分解质因数。例如:输入90,打印出90=233*5 2、一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。 3、猴子吃桃问题:猴子第一天摘下若干个桃子,...
  • 题目:输入两个正整数m和n,其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 2.程序源代码: 【程序19】 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程  找出1000以内...
  • 7-79 N个数求和(C语言

    千次阅读 2020-05-24 15:02:55
    输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数符号一定出现在分子前面。 输出格式: 输出上述数字和最简形式 —— ...
  • 输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数符号一定出现在分子前面。 输出格式: 输出上述数字和最简形式 —— ...
  • 输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 …给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数符号一定出现在分子前面。 输出格式: 输出上述数字和最简形式 —— ...
  • 质数(素数)方法

    2019-09-16 02:30:12
    质数是数学重要的一环,所谓质数,...问题:输入一个正整数n(n>=2),不大于n的全部质数 方法一:循环法 思路:判断一个数n是不是质数,可以用2到√n之间的所有整数去除n,如果都不能整除,那么n是质数。设计...
  • C语言程序设计经典例子

    热门讨论 2009-05-22 20:08:27
    题目:输入两个正整数m和n,其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 2.程序源代码: #include "stdio.h" #include "conio.h" main() { int a,b,num1,num2,temp; printf("please input two numbers...
  • 问题:输入一个正整数n(n>=2),不大于n的全部质数 方法一:循环法 思路:判断一个数n是不是质数,可以用2到√n之间的所有整数去除n,如果都不能整除,那么n是质数。设计循环嵌套时尽量跳过一些不必要的情况。 1...

空空如也

空空如也

1 2
收藏数 33
精华内容 13
关键字:

c语言求正整数的所有因子

c语言 订阅