| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1128 人关注过本帖, 1 人收藏
标题:自学的C,晚上做了一张试卷。有挺多不懂
只看楼主 加入收藏
不眠的夜
Rank: 2
等 级:论坛游民
帖 子:63
专家分:96
注 册:2013-3-12
收藏
得分:0 
精悍版:
#include<stdio.h>
void main()
{
    int n,a,i;
    scanf("%d",&n);
    for(i=0;i<n;i++)
      printf("%d ",n*n-n+1+2*i);
}
2013-04-27 17:55
不眠的夜
Rank: 2
等 级:论坛游民
帖 子:63
专家分:96
注 册:2013-3-12
收藏
得分:0 
精悍版:
#include<stdio.h>
void main()
{
    int n,a,i;
    scanf("%d",&n);
    for(i=0;i<n;i++)
      printf("%d ",n*n-n+1+2*i);
}
2013-04-27 17:55
紫衣016
Rank: 1
等 级:新手上路
帖 子:10
专家分:9
注 册:2012-10-25
收藏
得分:0 
这个首先要搞清楚这道题目的原理,其实说白了就是m个连续奇数的和等于m的3次方,这m个数是在m的平方(以下用m2表示)两边等数量选取的。
两种情况:
第一:m是偶数
m2是偶数,则m2不算,m2-1和m2+1是中间两项,依次向两边发展,最小数为(m2-m+1),最大数是(m2+m-1).
第二:m是奇数
m2是奇数,则m2是中间项,依次向两边发展,最小数为(m2-m+1),最大数是(m2+m-1).

这样就确定了这m个数的最小和最大范围,然后就是用for循环依次输出即可。当然你要先判断一下m是奇数还是偶数。
2013-04-27 18:33
蓝天时代
Rank: 2
等 级:论坛游民
帖 子:30
专家分:47
注 册:2013-4-25
收藏
得分:0 
貌似这是个数学等差数列的问题。第N行第一个数是n*n-n+1; 接下来是n-1个连续奇数。
2013-04-27 20:54
蓝天时代
Rank: 2
等 级:论坛游民
帖 子:30
专家分:47
注 册:2013-4-25
收藏
得分:0 
回复 14楼 蓝天时代
十二楼的 good!
2013-04-27 20:56
快速回复:自学的C,晚上做了一张试卷。有挺多不懂
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.075564 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved