• 珠心算测验 C / C++


    代码如下

    #include<iostream>
    using namespace std;
    //注意数组长度
    int number[10001]; // 定义输入数组
    int book[10001];  //定义标记数组(桶)
    int num[10001];  // 定义判断输出数组
        
    int main()
    {
        int n;
        int maxn = -1;
        int ans = 0;
        
        cin >> n;
        for(int i = 1; i <= n; i++)
        {
            
            cin >> number[i];  //输入
            
            maxn = max(maxn,number[i]);  //求出最大输入数字,减少不必要的运行时间
            book[number[i]] = 1;      //标记,将输入的数在桶中标记
        }
        
        for(int i = 1; i <= maxn; i++)
            for(int j = i+1; j <= maxn; j++)
            {
                int k = i + j;      // 两者对应的下标和
                if(k <= 10000)      //注意长度
                    if(book[k] == book[i] * book[j] && book[k] != 0)  // 判断
                        num[k] = 1;      // 符合题目, 将数字在数组中赋值为 1 
            }    
            
            
        for(int i = 1; i <= maxn; i++)
            if(num[i] == 1)        // 找出数组中符合题意的数, 即数组中为 1 的数
                ans++;        // 求个数
            //    cout << i << " ";
            
                
        cout << ans << endl;    //输出个数
        return 0;
     }
  • 相关阅读:
    《PS技巧精华全部在这里!》
    c#的dictionary为什么在扩容时会以素数扩容
    初识Lua
    常用的排序
    像gal一样讲故事~
    打枪的实现
    武器的方向,人物和武器的翻转
    虚拟摇杆的修改
    实现虚拟摇杆的移动
    itemPool和MessageCenter
  • 原文地址:https://www.cnblogs.com/go-alltheway/p/13538495.html
Copyright © 2020-2023  润新知