问题标题: 酷町堂:2638 分数排序

0
0
已解决
被禁言 何冯成
何冯成
中级光能
中级光能

样例都没过,WA9分代码:

#include<iostream>
#include<algorithm>
using namespace std;
int cnt;
int gcd(int x,int y){ 
    int r;
    while(x%y!=0){
        r=x%y;
        x=y;
        y=r;
    }
    return y;
}
struct fs{
    int jg,fm,fz;
}a[110000];
bool cmp(fs s,fs d){
    return s.jg<d.jg;
}
int main(){
    int n;
    cin>>n;
    cout<<0<<'/'<<1<<endl;
    for(int i=1;i<=n;i++){
        for(int j=n;j>=i+1;j--){
            if(gcd(i,j)==1){
                    cnt++;
                    a[i].jg=1/j*i;
                    a[i].fm=i;
                    a[i].fz=j;
                }
            }
        }
        sort(a+1,a+cnt+1,cmp);
        for(int i=1;i<=cnt;i++){
            cout<<a[i].fz<<'/'<<a[i].fm<<endl;
        }
    cout<<1<<'/'<<1;
    return 0;
}

话说这题测试点也够奇葩的,11个测试点,9*11=99,还有一分呢?

望大佬找错


0
已采纳
武宸锐
武宸锐
初级光能
初级光能
#include<iostream>
#include<algorithm>
using namespace std;
struct num{
    int a;
    int b;
    double s;
};
bool cmp( struct num as,struct num qw)
{
    return as.s<qw.s;
}
int duan(int a,int b,int n)
{
    for(int i=2;i<=n;i++)
    {
        if(a%i==0&&b%i==0)//有公因子
            return 0;
    }
    return 1;//无公因子
}
int main()
{
    int n,i,j,k=0;
    struct num nn[30000];
    cin>>n;
    for(i=1;i<n;i++)
    {
        for(j=i+1;j<=n;j++)//分子一定要比分母大
        {
            if(i==1)// 1 是任何两个数之间都会有的,要单独判断
            {
                nn[k].a=i;
                nn[k].b=j;
                nn[k].s=1.00*i/j;
                k++;
            }
            else if(duan(i,j,n))// i!=1时,判断分子和分母是否互质
            {
                nn[k].a=i;
                nn[k].b=j;
                nn[k].s=1.00*i/j;
                k++;
            }
        }
    }
    sort(nn,nn+k,cmp);
    cout<<"0/1"<<endl;
    for(i=0;i<k;i++)
        cout<<nn[i].a <<"/"<<nn[i].b<<endl;
    cout<<"1/1"<<endl;
    return 0;
}

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭v

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

爱学习!爱酷町!

拒抄袭!赞原创!

拒绝抄袭行为,拒绝MN行为

各位转起来,传遍全网

支持原创,拒绝抄袭

0
李瑞曦
李瑞曦
高级天翼
高级天翼

我样例也没过,还没提交,同问!(帮你顶,顺便刷经验)

0
0
柯以成
柯以成
新手光能
新手光能

我刚写完了,要代码还是要思路

0
柯以成
柯以成
新手光能
新手光能

先要定义结构体,存分子,分母,和分数值。

判断

如果分子分母互质&&小于n,存进结构体数组

数组从小到大排序,

先输出0/1,

输出数组

输出1/1

求采纳!!!

柯以成在2020-07-14 16:52:21追加了内容

@何冯成 

0
李鑫羽
李鑫羽
初级光能
初级光能

结构体:

struct fenshu{
    int z;
    int m;
    double s;
} a[100001];

函数:

bool gcd(int x,int y){
    int s;
    for(int i=1;i<=max(x,y);++i)
    {
        if(x%i==0&&y%i==0)
            s=i;
    }
    if(s==1) return true;
    return false; 
}

结构体排序:

bool cmp(fenshu a,fenshu b){
    return a.s<b.s;
}

核心代码:

for(int i=1;i<=n;i++){
        for(int j=0;j<=i;j++){
            if(gcd(i,j)){
                x++;
                a[x].m=i;
                a[x].z=j;
                a[x].s=j*1.0/i;
            }
        }
    }
    sort(a+1,a+1+x,cmp);
    for(int i=1;i<=x;i++){
        cout<<a[i].z<<"/"<<a[i].m<<endl;
    }

我要回答