直线

直线

https://ac.nowcoder.com/acm/problem/207427

题目:直线
来源:“科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛)

解题思路

题目: 条直线在平面上最多存在多少交点。

最多交点个数为

因为 ,所以交点个数可能会大于 ,所以交点个数使用字符串表示。

addStr 函数实现两个表示十进制数的字符串相加的功能。

两数相乘使用竖式计算。注意:乘以高位数字时,在字符串后面补零。

C++代码

#include<iostream>
using namespace std;

string addStr(string& s1, string& s2){
    string ans = "";
    int i = s1.length() - 1;
    int j = s2.length() - 1;
    int flag = 0;
    while(i >= 0 && j >= 0){
        int a = s1[i] - '0';
        int b = s2[j] - '0';
        int c = a + b + flag;
        flag = c / 10;
        c %= 10;
        ans = to_string(c) + ans;
        --i;
        --j;
    }
    while(i >= 0){
        int a = s1[i] - '0';
        int c = a + flag;
        flag = c / 10;
        c %= 10;
        ans = to_string(c) + ans;
        --i;
    }
    while(j >= 0){
        int a = s2[j] - '0';
        int c = a + flag;
        flag = c / 10;
        c %= 10;
        ans = to_string(c) + ans;
        --j;
    }

    if(flag)
        ans = "1" + ans;

    return ans;
}

int main(){
    int t;
    cin >> t;
    while(t){
        unsigned long long n;
        cin >> n;
        unsigned long long a = n;
        unsigned long long b = n - 1;
        if(a % 2 == 0)
            a /= 2;
        else
            b /= 2;

        string ans = "";
        string s = to_string(b);
        int zero = 0;
        for(int i=s.length()-1; i>=0; --i){
            int k = s[i] - '0';
            string str = to_string(a * k);
            string sz(zero, '0');
            str += sz;
            ans = addStr(ans, str);
            ++zero;
        }
        //unsigned long long ans = n * (n-1) / 2;
        cout << ans << endl;
        --t;
    }
    return 0;
}
全部评论

相关推荐

焦虑中,不知道怎么办了。。。
西北上单:应该放俩项目合理一些 我是一个业务开发项目 一个AI项目和你这个写的亮点差不多
你的简历改到第几版了
点赞 评论 收藏
分享
03-17 23:54
黑龙江大学 Java
来个白菜也好啊qaq:可以的,大厂有的缺打手
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# AI面会问哪些问题? #
24308次浏览 477人参与
# 中国电信笔试 #
30930次浏览 283人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
13989次浏览 208人参与
# 你的实习产出是真实的还是包装的? #
18527次浏览 329人参与
# 如果秋招能重来,我会____ #
96448次浏览 499人参与
# 春招至今,你的战绩如何? #
59119次浏览 535人参与
# 米连集团26产品管培生项目 #
12908次浏览 285人参与
# i人适合做什么工作 #
36646次浏览 123人参与
# 我是面试官,请用一句话让我破防 #
79291次浏览 219人参与
# 哪些公司真双非友好? #
69122次浏览 287人参与
# 找AI工作可以去哪些公司? #
7473次浏览 177人参与
# 从事AI岗需要掌握哪些技术栈? #
7465次浏览 235人参与
# 五一之后,实习真的很难找吗? #
102791次浏览 584人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
339717次浏览 2163人参与
# 你做过最难的笔试是哪家公司 #
29501次浏览 179人参与
# 你小时候最想从事什么职业 #
159826次浏览 2072人参与
# 阿里笔试 #
175963次浏览 1299人参与
# 金三银四,你的春招进行到哪个阶段了? #
21407次浏览 274人参与
# 一张图晒出你司的标语 #
3779次浏览 71人参与
# 面试被问期望薪资时该如何回答 #
382432次浏览 2163人参与
# 晶盛机电求职进展汇总 #
35209次浏览 318人参与
# 应届生第一份工资要多少合适 #
20440次浏览 84人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务