码迷,mamicode.com
首页 > 编程语言 > 详细

C语言初学习(1)

时间:2017-01-14 07:47:50      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:题目   运行   连续   但我   oid   程序   images   技术分享   开始   

题目:对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[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)

标签:题目   运行   连续   但我   oid   程序   images   技术分享   开始   

原文地址:http://www.cnblogs.com/wobrm-zxm/p/6284523.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!