| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 591 人关注过本帖
标题:这是我写的一个程序 ,找不出错误啊!各位帮帮忙。
只看楼主 加入收藏
尹卫
Rank: 1
等 级:新手上路
帖 子:19
专家分:5
注 册:2010-4-2
结帖率:100%
收藏
 问题点数:0 回复次数:5 
这是我写的一个程序 ,找不出错误啊!各位帮帮忙。
/*Description
对于所有的整数p和q并且q>0.规定p mod q得到的整数r满足0 <= r <= q ?1,从而可得p?r是可以整除q。例如:
109 %10 = 9
-7 %3 = 2
-56 %7 = 0
如下是Φ的一种功能:
i=1 Φ(i)=ai=2 Φ(i)=b   i=3 Φ(i)=c
i is even  Φ(i) =(f*Φ(i-1)-d*jΦ(i-2)+e*Φ(i-3))%h;
 i is odd  Φ(i) =(f*Φ(i-1)+d*jΦ(i-2)-e*Φ(i-3))%g;odd是奇数,even是偶数。
Input
多组测试数据,每组输入九个整数, a b c d e f g h i, 且i >= 0; 所有的数都小于1000;
Output
输出一个整数, 即当变量等于i时的函数值。
Sample Input
1 2 3 4 5 6 7 8 9
11 12 13 14 15 16 17 18 19
321 322 323 324 325 326 327 328 329
Sample Output
4
0
90*/
#include<iostream>
using namespace std;
int main(){
        int a,b,c,d,e,f,g,h,i,j[1000];
        while(cin>>a>>b>>c>>d>>e>>f>>g>>h>>i){
             j[0]=a;j[1]=b;j[3]=c;
             if(i>=3){
             for(int k=3;k<=i;k++){
               if(i&1)  j[i]=(f*j[i-1]-d*j[i-2]+e*j[i-3])%h;
               else j[i]=(d*j[i-1]+e*j[i-2]-f*j[i-3])%g;
               }
               }
               cout<<j[i]<<endl;                              
           }
        return 0;   
}
2010-04-07 16:34
Bosen
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:65
专家分:102
注 册:2009-11-3
收藏
得分:0 
有错误提示没?
2010-04-07 17:05
fenggaoyuehe
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-4-7
收藏
得分:0 
没看明白
2010-04-07 17:59
CC鸟
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2010-4-12
收藏
得分:0 
  while(cin>>a>>b>>c>>d>>e>>f>>g>>h>>i){
             j[1]=a;j[2]=b;j[3]=c;
             if(i>=3){
             for(int k=4;k<=i;k++){
               if(k&1)  j[k]=(f*j[k-1]-d*j[k-2]+e*j[k-3])%g;
               else j[k]=(d*j[k-1]+e*j[k-2]-f*j[k-3])%h;
               }
               }
               cout<<j[k]<<endl;                              
           }
          这是一种改法   
2010-04-12 17:38
CC鸟
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2010-4-12
收藏
得分:0 
i is even  Φ(i) =(f*Φ(i-1)-d*jΦ(i-2)+e*Φ(i-3))%h;
i is odd  Φ(i) =(f*Φ(i-1)+d*jΦ(i-2)-e*Φ(i-3))%g;odd是奇数,even是偶数。
               if(i&1)  j[i]=(f*j[i-1]-d*j[i-2]+e*j[i-3])%h;
               else j[i]=(d*j[i-1]+e*j[i-2]-f*j[i-3])%g;
对应不了阿,楼主是不是打错了            
2010-04-12 17:42
尹卫
Rank: 1
等 级:新手上路
帖 子:19
专家分:5
注 册:2010-4-2
收藏
得分:0 
回复 4楼 CC鸟
现在会这递归的方法会了;  但发现你的程序有些小问题,那个k的定义有些问题(小问题啦!)。
2010-04-19 12:20
快速回复:这是我写的一个程序 ,找不出错误啊!各位帮帮忙。
数据加载中...
 
   



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

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