101d=4620k+1
用辗转相除法:
101d-4620k=1
4620/101=45...75
101/75=1...26
75/26=2...23
26/23=1....3
23/3=7...2
3/2=1..1
2/1=2...0
101与4620互质,d是4620的倍数,中是101在倍数
101d-(45x101+75)k=1
101*(d-45k)-75k=1
设d-45k=d1
101d1-75k=1
(75+26)d1-75k=1
75(d1-k)+26d1=1
设d1-k=d2
75d2+26d1=1
(26x2+23)d2+26d1=1
26(2d2+d1)+23d2=1
设2d2+d1=d3
26d3+23d2=1
23(d3+d2)+3d3=1
设d3+d2=d4
23d4+3d3=1
(7x3+2)d4+3d3=1
3(7d4+d3)+2d4=1
设d5=7d4+d3
3d5+2d4=1
d5=1,d4=-1
回代。
由程序流程图可知,当n=1,s=(1-1)/2
n=2,s=(1-1)/2+(2-1)/2
n=3,s=(1-1)/2+(2-1)/2+(3-1)/2;........n=2015,s=...+(2015-1)/2
当n=2016时就会输出s。
所以,s=(1-1)/2+(2-1)/2+...+(2015-1)/2
=(1+2+3+...+2014)/2=(
(1+2014)*2014/2
)/2
=1014552.5
最终输出S=1014552.5
#include<stdio.h>main(){int i,j,sum1=0,sum2=0,sumfor(i=1i<=1000i++)if(i%3==0)sum1++for(j=1j<=1000j++)if(j%7==0)sum2++sum=sum1+sum2printf("please print\n")printf("sum1=%d,sum2=%d,sum=%d",sum1,sum2,sum)}欢迎分享,转载请注明来源:内存溢出
评论列表(0条)