首页 > 代码库 > C语言初学习(1)
C语言初学习(1)
题目:对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[2,20]之间的数满足这一性质。
分析:首先得出该整数num的立方n。对于这一连串的奇数,我们不能确定它的个数,但我们可以分析出它的个数不会超过这个整数num(这个应该可以理解~)。那么我们就可以得到一个范围那就是1到num之间的奇数,但至于到底有几个呢?好像不好得到。没关系,用for()循环来帮忙。让它遍历从1到num的所以的奇数,用变量sum来存放它们的和,并依次与立方n进行比较,如果相等了,那这就对了,输出来就好了~,如果比n大了,那么就不能再从1开始了,依次向后排从3,5……,就这样,我们就能找出我们所需要得数了,思路是不是很清晰呢?好了,来看看代码~
代码:
1 #include<stdio.h> 2 void main() 3 { 4 int i,j=0,n,k,sum=0,num,p=1,a[500],f=0,T=1; 5 printf("输入一个数在2到20之间\n"); 6 scanf("%d",&num); 7 n=num*num*num; 8 for(i=p;i<n;i+=2) 9 { 10 if(sum<n) 11 { 12 sum+=i; 13 a[j++]=i; 14 f=0; 15 } 16 if(sum==n&&f==0)// 17 { 18 printf("第%d种\n",T++); 19 for(k=0;k<j;k++) 20 { 21 printf("%5d",a[k]); 22 } 23 printf("\n"); 24 f++; 25 j=0; 26 i=p+=2; 27 sum=0; 28 i-=2; 29 } 30 if(sum>n) 31 { 32 j=0; 33 i=p+=2; 34 sum=0; 35 i-=2; 36 } 37 } 38 }
上面这个就是其中一个运行结果啦~
欢迎联系我得qq:2516985331
一起学习~
C语言初学习(1)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。