精华内容
下载资源
问答
  • C语言网1074-数字整除

    千次阅读 2017-09-11 19:51:37
    原题链接:问题 1074: 数字整除问题 1074: 数字整除时间限制: 1Sec 内存限制: 128MB 提交: 601 解决: 134题目描述定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的...

    原题链接:问题 1074: 数字整除

    问题 1074: 数字整除

    时间限制: 1Sec 内存限制: 128MB 提交: 601 解决: 134

    题目描述

    定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。

    例如,34是17的倍数,因为3-20=-17是17的倍数;201不是17的倍数,因为20-5=15不是17的倍数。输入一个正整数n,你的任务是判断它是否是17的倍数。

    输入

    输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=10^100),表示待判断的正整数。n=0表示输入结束,你的程序不应当处理这一行。

    输出

    对于每组测试数据,输出一行,表示相应的n是否是17的倍数。1表示是,0表示否。

    样例输入

    • 34
    • 201
    • 2098765413
    • 1717171717171717171717171717171717171717171717171718
    • 0

    样例输出

    • 1
    • 0
    • 1
    • 0

    提示

    来源

    湖南省第六届大学生计算机程序设计竞赛

    题目解析

    说实话,这道题目我刚看到就直接认为是大数减法,因为对于输入数据的精度很高,最开始的思路:先通过字符串的方式获取到输入样例,然后再提取到字符串最后的一个字符转为整数,通过写一个大数相减的函数实现一个大数减另一个整数,返回bool型。

    这个想法其实不能说不聪明,我想这个应该也是很多人最开始就想到的方法,所谓的直接按照题目的意思来算

    但是我们反过来再看题目的时候,这道题目其实就是想输入一个数据,然后叫我们判断是否是17的倍数而已,为什么还要大费周章的先去减一个数字然后再判断呢,这样反倒是增加了代码量,那我们就直接来计算17的倍数吧。

    这时可能你就会先在自己仅有的脑容量里边去搜索各种各样的算法来计算大数的除法问题,我呢是推荐先自己实现下大数的除法是然后再来比对下这种方法,找出自己代码的优点和确定(为什么不直接说缺点呢,其实就是担心你的小心脏啦,哈哈哈,开个玩笑而已,每个算法都有自己的优点和缺点,只要用对了场合那么就是一个好算法,这就是算法的魅力)

    胡扯了这么久,期待已久的代码来了,

    #include <iostream>
    #include <string>
    using namespace std;
    int main ()
    {
        string s;
        while(cin>>s){
            if(s.at(0)=='0') break;
            int sum=0,len=s.length();
            for(int i=0;i<len;i++){
                sum=sum*10+s[i]-'0';
                sum%=17;
            }
            if(sum) cout<<0<<endl;
            else cout<<1<<endl;
        }
        return 0;
    } 
    

    如果觉得不错就点个赞,关注走起卅。
    更多内容也可关注我的个人博客MgBlog

    展开全文
  • #include "stdio.h"int fun(int W){int sum=0;while(W){sum+=(W%10)*(W%10);W/=10;}if(sum%5==0)return 1;return 0;}void main(){int W;scanf("%d",&...}扩展资料C语言实断回文数#includeintmain(){int...

    #include "stdio.h"

    int fun(int W)

    {

    int sum=0;

    while(W)

    {

    sum+=(W%10)*(W%10);

    W/=10;

    }

    if(sum%5==0)return 1;

    return 0;

    }

    void main()

    {

    int W;

    scanf("%d",&W);

    printf("%d",fun(W));

    }

    d956c21a43d7f1717ae5808796838d3e.png

    扩展资料

    C语言实断回文数

    #include

    intmain()

    {

    intn,reversedInteger=0,remainder,originalInteger;

    printf("输入一个整数:");

    scanf("%d",&n);

    originalInteger=n;

    //翻转

    while(n!=0)

    {

    remainder=n%10;

    reversedInteger=reversedInteger*10+remainder;

    n/=10;

    }

    //判断

    if(originalInteger==reversedInteger)

    printf("%d是回文数。",originalInteger);

    else

    printf("%d不是回文数。",originalInteger);

    return0;

    }

    参考资料来源:百度百科—c语言

    展开全文
  • C语言实验——整除 oj

    2018-01-17 20:24:47
    C语言实验——整除Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description判断一个数n能否同时被3和5整除。Input输入一个正整数n。Output如果能够同时被3和5整除,输出Yes,否则输出No。...

    C语言实验——整除

    Time Limit: 1000MS Memory Limit: 65536KB

    Problem Description

    判断一个数n能否同时被3和5整除。

    Input

    输入一个正整数n。

    Output

    如果能够同时被3和5整除,输出Yes,否则输出No。

    Example Input

    15

    Example Output

    Yes
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
       int a,b,c;
       scanf("%d",&a);
       b = a % 3;
       c = a % 5;
       if(b == 0&&c == 0){
        printf("Yes");
       }else{
       printf("No");
       }
    
    
    
    return 0;
    }


    展开全文
  • 定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。 例如,34是17的倍数,因为3-20=-17是17的倍数;201不是17的倍数,因为20-5=15不是17...

    Description

    定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。

    例如,34是17的倍数,因为3-20=-17是17的倍数;201不是17的倍数,因为20-5=15不是17的倍数。输入一个正整数n,你的任务是判断它是否是17的倍数。

    Input

    输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(n可能很大),表示待判断的正整数。n=0表示输入结束,你的程序不应当处理这一行。

    Output

    对于每组测试数据,输出一行,表示相应的n是否是17的倍数。1表示是,0表示否。

    Sample Input

    34201209876541317171717171717171717171717171717171717171717171717180

    Sample Output

    1010

    HINT

    Source

    湖南省第六届大学生计算机程序设计竞赛


    #include <STDIO.H>
    #include <STDLIB.H>
    #include <MATH.H>
    #define N 10
    int main()
    {
       int A[N];
       int i=0;
       int real_length;
       int B,C;
       while (1)
       {
    	   scanf("%d",&A[i]);
    	   if(A[i]==0)
    		   break;
    	   i=i+1;
       }
       real_length=i;
    
       for(i=0;i<real_length;i++)
       {
    	   B=A[i]%10;//得到个位上的数。
           C=(A[i]-B)/10;
    	   B=B*5;//个位数的5倍。
    	   printf("%d %d ",C,B);
    	   if((C-B)%17==0)
    		   printf("1 \n");
    	   else
    		   printf("0 \n");
       }
      return 0;
    }


    展开全文
  • 数字整除

    2016-07-31 17:35:50
    定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。例如,34是17的倍数,因为3-20=-17是17的倍数;201不是17的倍数,因为20-5=15不是17的...
  • "能同时被3、5、7中的两个数整除,且这两个数为 %d 和 %d 。\n" ,b,c); } else if ((a %3 != 0 &&a %5 != 0 &&a %7 == 0 )||(a %3 == 0 &&a %5 != 0 &&a %7 != 0 )||(a %3 != 0 &&a %5 == 0 &&a %7 != 0 )) { ...
  • 整除光棍 c语言

    2020-05-11 22:06:20
    然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。 提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x...
  • C语言18素数的整除

    2013-08-10 17:23:53
    求18素数的整除,其他数字改变数字即可,真的很好用哦
  • 查找可被给定数字整除的数字Here you will get C program to print multiplication table of given number. 在这里,您将获得C程序来打印给定数字的乘法表。 Below program will ask user to enter a number then ...
  • HHUOJ 1003 数字整除

    2019-02-25 17:00:21
    HHUOJ 1003 数字整除 题目描述 定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。 例如,34是17的倍数,因为3-20=-17是17的倍数;201不是...
  • #include<stdio.h> main() { int flag=0,a,b,i,n=0; scanf("%d %d",&a,&b); flag=1; for(i=a;i<=b;i++) //可加条件或改变条件 ...=0) //判断能否被四整除 { printf("%-5d...
  • C语言小程序之整除

    2017-05-12 23:03:00
    看到有人要求用C语言写这样一个小程序,就拿来温习一下 需求:输出从1到2015这2015个自然数中,能被4或5整除,但不能被30整除的数,并计算有多少个数。 1 #include<stdio.h> 2 3 int main() 4 {...
  • #include<stdio.h> #include<math.h> int main() { ... printf("请输入数字"); scanf("%d",&num); sum=0; pro=1; ans=num%10; sum+=ans; pro*=ans; while(num>0) { ...
  • 完全数,又称完美数或完数(Perfect Number),它是指这样的一些特殊的自然数,它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。例如,6就是一个完全数,是因为6 = 1 + 2 + 3。请编写一个判断完全数的函数...
  • HZNUOJ-1072-数字整除 题解思路 首先,拿到一道题目必须必须关注输入变量的范围!!! 比如1≤n≤10^100!!! 所以,这道题每次输入的正整数,如果用数字类型的变量储存,int和long long都会爆!!! 那么,我们...
  • 「蓝桥杯」数字整除

    2020-07-30 19:47:22
    数字整除题目分析代码 题目 定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。 例如,34是17的倍数,因为3-20=-17是17的倍数;201不是17...
  • /*100-1000的各位数字和被15整除c语言*/ /*100-1000的各位数字和被15整除c语言*/ int 数字(100), 和(0), 位数 = 数字; do { do { 和 += 位数 % 10; } while (位数 /= 10); if (!(和 % 15)) cout ...
  • 此代码是在vc环境下用c语言开发的一个用6整除100以内的偶数的程序,希望对你有所帮助
  • 题目描述:编写程序,输入一个正整数,判断是否能被5和7同时整除,若可以,则输出yes;否则输出no。 输入格式:输入一个正整数。 输出格式:输出“yes”或“no”。 示例: 输入:35 输出:yes #include<stdio.h>...
  • 用javascript判断一个整数n是否是一个能被23整除的三位奇数.functionjisuan(num){if(Math.abs(num).toString().length==3&&Math.abs(num)%2==1){if(Math.abs(num)%23==写出一个算法,任意两个整数a,b,判断a...
  • 7-42 整除光棍 (20分) 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要...
  • 题目来源:C语言
  • L1-046 整除光棍 C语言

    2020-01-31 11:52:59
    这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个...
  • C语言里,字符的输入都是通过调用函数来实现的:getchar( )、scanf( )其中,getchar 函数只能处理单个字符的输入与输出,函数体本质上与scanf函数是一致的,都是阻塞式函数。阻塞函数是指当这个函数不执行完,函数...
  • 数字游戏规则: 1. 电脑随机产生100—999之间的数字(包括100、999); 提示:用rand函数,该函数在stdlib.h库中,并保证多次运行产生不同的随机数 2. 玩家每轮有七次猜数的机会,如果七次都没有猜到,则失败,判...
  • 列印1-100的 范围数字包含7,或是能被7整除的所有数字(java程式码 用for语句 线上等 )...列印1-100的 范围数字包含7,或是能被7整除的所有数字(java程式码 用for语句 线上等 )public class Demo { public static v...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,328
精华内容 4,131
关键字:

c语言数字整除

c语言 订阅