对于大数(?)的是否为7的倍数的判断

来源:互联网 发布:美国人工智能政策 编辑:程序博客网 时间:2024/05/16 17:27

 


这几天看老先生的博客发现好多有趣的结论,就拿判断7的倍数判断来说,我立马写了个程序(莫笑=_=!)

分享给我自己

#include<stdio.h>static int len;     //大数的位数int  l_num[100000];//储存大数int getnum(){char a;a=getchar();if(a=='\n')return 0;else getnum();l_num[len]=a-'0';len++;return 1;}int main(){char a[10];printf("输入ENTER以确认输入\n");while(gets(a),a[0]='z'){          //换行以循环输入;int time,f=-1;int tre;while(len--)l_num[len]=0;len++;getnum();for(int i=len-1;i>=0;i--)printf("%d",l_num[i]); putchar('\n');                              /*三位分节法:一个自然数从个位向左数, 3位一节(最后不足3位时也算一节),右起第一节减第二节、加第三节、减第四节、… …照这样减加交错,如果得数能被7整除,这个自然数就能被7整除。*/ if(len%3==0)time=len/3;else time=len/3+1;for(f=1,i=0,tre=0;i<time;i+=3,f=-f)tre+=f*(l_num[i]+l_num[i+1]*10+l_num[i+2]);     //计算那个自然数以判断是否为7的倍数   if(tre%7!=0||tre==0)printf("该数不是7的倍数\n");else printf("该数是7的倍数\n");}return 0;}
在安利下老先生的博客:点击打开链接 

在安利下老先生的博客:点击打开链接 
原创粉丝点击