| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 732 人关注过本帖
标题:求助:这个编程怎么写啊?
只看楼主 加入收藏
lutian911
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-10-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
求助:这个编程怎么写啊?
x=1,2,3~~~
y1=60,y2=120,y3=180,y4=240,y5=300,y6=360,y7=390,y8=420~~
前y1到y6是以60(360/6)递增,y7到y18是以30(360/12)递增,y18到y36是以20(360/18)递增~~
求y与x在编程中的关系
举例:
y=60*x
if x>6
y=30*x
endif
if x>18
y=20*x
endif
if x>36
y=15*x
endif
if x>60
y=12*x
endif
注:y是角度,可以理解为390=30,420=60~~
我这样写太麻烦,能不能用循环语句给写个简单点的
搜索更多相关主题的帖子: 编程 420 
2011-10-08 17:54
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
想了会,表示能力有限。。。。。。。。。。。。。。。

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-08 18:24
ileelsai
Rank: 5Rank: 5
等 级:职业侠客
帖 子:87
专家分:303
注 册:2011-9-25
收藏
得分:0 
递归算法
2011-10-08 18:42
阿百川
Rank: 2
来 自:大连
等 级:论坛游民
帖 子:18
专家分:33
注 册:2011-8-21
收藏
得分:0 
这个问题好像都没懂呢。。。。。。。。。
2011-10-08 18:51
ileelsai
Rank: 5Rank: 5
等 级:职业侠客
帖 子:87
专家分:303
注 册:2011-9-25
收藏
得分:5 
  
较易理解的:
建立以下线性表:
   0          1             2                3             4             5              6           7
   0          6            18                36        ...
   0         360           720               1080      ...
后面的你懂的。。。。

x=19    19>0  19>6  19>18  19<=36   y=720+20=740    你也可以直接算出区间

[ 本帖最后由 ileelsai 于 2011-10-8 19:09 编辑 ]
2011-10-08 18:55
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:15 
X和Y存在着明显的数学关系。
程序代码:
#include<stdio.h>
#include<math.h>
int main()
{
    int x, n, y;
    for(x = 1; x <= 60; x++)
    {
        n = (sqrt(((double)x - 1) * 4 / 3 + 1) - 1) / 2 + 1;
        y = (x - n * (n - 1) * 3) * 60 / n % 360;
        printf("y%d = %d\n", x, y);
    }
    return 0;
}
得到的结果是
y1 = 60
y2 = 120
y3 = 180
y4 = 240
y5 = 300
y6 = 0
y7 = 30
y8 = 60
y9 = 90
y10 = 120
y11 = 150
y12 = 180
y13 = 210
y14 = 240
y15 = 270
y16 = 300
y17 = 330
y18 = 0
y19 = 20
y20 = 40
y21 = 60
y22 = 80
y23 = 100
y24 = 120
y25 = 140
y26 = 160
y27 = 180
y28 = 200
y29 = 220
y30 = 240
y31 = 260
y32 = 280
y33 = 300
y34 = 320
y35 = 340
y36 = 0
y37 = 15
y38 = 30
y39 = 45
y40 = 60
y41 = 75
y42 = 90
y43 = 105
y44 = 120
y45 = 135
y46 = 150
y47 = 165
y48 = 180
y49 = 195
y50 = 210
y51 = 225
y52 = 240
y53 = 255
y54 = 270
y55 = 285
y56 = 300
y57 = 315
y58 = 330
y59 = 345
y60 = 0
既然y是角度,我的计算结果中将360也转换成了0。如果需要360度,可以稍做修改



重剑无锋,大巧不工
2011-10-08 20:29
lichuyang
Rank: 2
等 级:论坛游民
帖 子:7
专家分:11
注 册:2011-10-1
收藏
得分:0 
程序代码:
#include <stdio.h>
main()
{
    int x,n=6,i=0,y=0;
    for(x=1;x<=30;x++)
    {
        i=(x-1)/n+1;
        y=y+360/(6*i);
        printf("x=%d,y=%d\n",x,y);
    }
    
} 
2011-10-09 00:59
快速回复:求助:这个编程怎么写啊?
数据加载中...
 
   



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

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