腾讯笔试第一题求助

哪位大佬帮忙看下,腾讯笔试第一题,本地能过,提交ac百分之0.。。。
#include <stdio.h>
int f1(int x,int y)
{
int a,b,c,z;
a=x;
b=y;
while(y){
z=x%y;
x=y;
y=z;
}
c=a*b/x;
return c;
}
int main()
{
int i=0,p,q=1,r,s;
int n,m=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
    q=f1(i,q);
}
for(m=n+1;;m++){
    p=n+1;
for(i=n+1;i<=m;i++){
    p=f1(p,i);
    q=f1(q,i);
    if(p==q){
        r=p;
        s=q;
        break;
    }
}
    if(r==s){
        printf("%d\n",m);
        break;
    }
}
return 0;
}

#笔试题目##腾讯#
全部评论
参考你的代码进行修改: #include <bits/stdc++.h> using namespace std; int gcd(int a, int b){     int c = a%b;     if(c)         return gcd(b, c);     else         return b; } int lcm(int a, int b){     return a*b / gcd(a,b); } int main(){     int n, m = 0;     int q = 1, p, r, s;     while(cin >> n){         for(int i = 1; i <= n; i++){             q = lcm(i, q);         }         for(int m = n+1; ; m++){             p = n + 1;             int ok = 0;             for(int k = n+1; k <= m; k++){                 p = lcm(p, k);                 q = lcm(q, k);                 if(p == q){                     ok = 1;                     cout << m << endl;                     break;                 }             }             if(ok)                 break;         }     }     return 0; }
点赞 回复 分享
发布于 2018-09-17 09:21

相关推荐

猪扒已出闸:方向不够聚焦,看不出来是想找什么方向的工作
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务