Euler 92

本文探讨了使用递归和数位操作解决特定数学问题的方法,具体包括求和转换为平方和并利用递归函数进行计算,以及通过遍历数字的每一位来简化问题。介绍了关键算法步骤和实例应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



#include <iostream>
#include <stdio.h>
#include<string.h>
#define MAX 10000007
using namespace std;

int vis[MAX];

 int dfs(int sum)
 {
     int tmp=0,s=sum;
     while(s)
     {
         tmp+=(s%10)*(s%10);
         s/=10;
     }
     if(vis[tmp]!=0)
         return vis[tmp];
     else
     if(vis[tmp]==0)
  {
  vis[tmp]=1;
     return vis[tmp]=dfs(tmp);
  }
 }

int main()
{
    int n;
    int ans=0;
    memset(vis,0,sizeof(vis));
 vis[89]=2;
    for(int i=1;i<10000000;i++)
    {
        if(vis[i]==2)
        {
            ans++;
            continue;
        }
        else if(dfs(i)==2)
            ans++;
    }
    printf("%d\n",ans);
    return 0;
}

内容概要:本文详细探讨了基于MATLAB/SIMULINK的多载波无线通信系统仿真及性能分析,重点研究了以OFDM为代表的多载波技术。文章首先介绍了OFDM的基本原理和系统组成,随后通过仿真平台分析了不同调制方式的抗干扰性能、信道估计算法对系统性能的影响以及同步技术的实现与分析。文中提供了详细的MATLAB代码实现,涵盖OFDM系统的基本仿真、信道估计算法比较、同步算法实现和不同调制方式的性能比较。此外,还讨论了信道特征、OFDM关键技术、信道估计、同步技术和系统级仿真架构,并提出了未来的改进方向,如深度学习增强、混合波形设计和硬件加速方案。; 适合人群:具备无线通信基础知识,尤其是对OFDM技术有一定了解的研究人员和技术人员;从事无线通信系统设计与开发的工程师;高校通信工程专业的高年级本科生和研究生。; 使用场景及目标:①理解OFDM系统的工作原理及其在多径信道环境下的性能表现;②掌握MATLAB/SIMULINK在无线通信系统仿真中的应用;③评估不同调制方式、信道估计算法和同步算法的优劣;④为实际OFDM系统的设计和优化提供理论依据和技术支持。; 其他说明:本文不仅提供了详细的理论分析,还附带了大量的MATLAB代码示例,便于读者动手实践。建议读者在学习过程中结合代码进行调试和实验,以加深对OFDM技术的理解。此外,文中还涉及了一些最新的研究方向和技术趋势,如AI增强和毫米波通信,为读者提供了更广阔的视野。
华为云Ascend C算子开发 环境搭(MindSpore) [ma-user SigmoidCustom]$bash build.sh using ASCEND_HOME_PATH: /home/ma-user/Ascend/ascend-toolkit/latest Preset CMake variables: ASCEND_COMPUTE_UNIT:STRING="ascend310b;ascend910b" ASCEND_PYTHON_EXECUTABLE:STRING="python3" CMAKE_BUILD_TYPE:STRING="Release" CMAKE_CROSS_PLATFORM_COMPILER:PATH="/usr/bin/aarch64-linux-gnu-g++" CMAKE_INSTALL_PREFIX:PATH="/home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out" ENABLE_BINARY_PACKAGE:BOOL="True" ENABLE_CROSS_COMPILE:BOOL="False" ENABLE_SOURCE_PACKAGE:BOOL="True" ENABLE_TEST:BOOL="True" vendor_name:STRING="customize" -- The C compiler identification is GNU 7.3.0 CMake Warning (dev) at /home/ma-user/work/cmake-3.28.3-linux-aarch64/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake:224 (find_program): Policy CMP0109 is not set: find_program() requires permission to execute but not to read. Run "cmake --help-policy CMP0109" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The file /usr/bin/ld is executable but not readable. CMake is ignoring it for compatibility. Call Stack (most recent call first): /home/ma-user/work/cmake-3.28.3-linux-aarch64/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake:196 (include) CMakeLists.txt:2 (project) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at /home/ma-user/work/cmake-3.28.3-linux-aarch64/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake:224 (find_program): Policy CMP0109 is not set: find_program() requires permission to execute but not to read. Run "cmake --help-policy CMP0109" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The file /bin/ld is executable but not readable. CMake is ignoring it for compatibility. Call Stack (most recent call first): /home/ma-user/work/cmake-3.28.3-linux-aarch64/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake:196 (include) CMakeLists.txt:2 (project) This warning is for project developers. Use -Wno-dev to suppress it. -- The CXX compiler identification is GNU 7.3.0 CMake Warning (dev) at /home/ma-user/work/cmake-3.28.3-linux-aarch64/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake:224 (find_program): Policy CMP0109 is not set: find_program() requires permission to execute but not to read. Run "cmake --help-policy CMP0109" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The file /usr/bin/ld is executable but not readable. CMake is ignoring it for compatibility. Call Stack (most recent call first): /home/ma-user/work/cmake-3.28.3-linux-aarch64/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake:202 (include) CMakeLists.txt:2 (project) This warning is for project developers. Use -Wno-dev to suppress it. CMake Warning (dev) at /home/ma-user/work/cmake-3.28.3-linux-aarch64/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake:224 (find_program): Policy CMP0109 is not set: find_program() requires permission to execute but not to read. Run "cmake --help-policy CMP0109" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The file /bin/ld is executable but not readable. CMake is ignoring it for compatibility. Call Stack (most recent call first): /home/ma-user/work/cmake-3.28.3-linux-aarch64/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake:202 (include) CMakeLists.txt:2 (project) This warning is for project developers. Use -Wno-dev to suppress it. -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Opbuild generating sources -- Opbuild generating sources - done -- Configuring done (3.3s) -- Generating done (0.0s) CMake Warning: Manually-specified variables were not used by the project: CMAKE_CROSS_PLATFORM_COMPILER -- Build files have been written to: /home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out [ 7%] Building CXX object op_host/CMakeFiles/cust_optiling.dir/sigmoid_custom.cpp.o [ 14%] Building CXX object framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_sigmoid_custom_plugin.cc.o [ 21%] Generating scripts/install.sh, scripts/upgrade.sh [ 28%] Building CXX object op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_sigmoid_custom.cpp.o [ 28%] Built target gen_version_info [ 57%] Building CXX object op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o [ 57%] Generating tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json [ 57%] Generating tbe/.impl_timestamp [ 64%] Building CXX object op_host/CMakeFiles/cust_op_proto.dir/sigmoid_custom.cpp.o [ 64%] Generating tbe/op_info_cfg/ai_core/ascend910b/aic-ascend910b-ops-info.json [ 71%] Generating tbe/op_info_cfg/ai_core/npu_supported_ops.json /home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out/autogen /home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out/op_kernel/tbe/op_info_cfg/ai_core [ 71%] Built target modify_vendor ==============check valid for ops info start============== ==============check valid for ops info end================ ==============check valid for ops info start============== ==============check valid for ops info end================ Compile op info cfg successfully. Compile op info cfg successfully. [ 71%] Built target ops_info_gen_ascend310b [ 71%] Built target ops_info_gen_ascend910b [INFO] Succed generated /home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out/op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json [ 71%] Built target ascendc_impl_gen [ 71%] Built target npu_supported_ops [ 78%] Linking CXX shared library libcust_opapi.so [ 78%] Built target cust_opapi [ 85%] Linking CXX shared library libcust_tf_parsers.so [ 85%] Built target cust_tf_parsers [ 92%] Linking CXX shared library libcust_opsproto_rt2.0.so [100%] Linking CXX shared library libcust_opmaster_rt2.0.so [100%] Built target cust_op_proto [100%] Built target cust_optiling [100%] Built target optiling_compat Run CPack packaging tool... CPack: Create package using External CPack: Install projects CPack: - Run preinstall target for: opp CPack: - Install project: opp [] CPack: Create package About to compress 596 KB of data... Adding files to archive named "custom_opp_euleros_aarch64.run"... ./help.info ./install.sh ./packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so ./packages/vendors/customize/framework/tensorflow/npu_supported_ops.json ./packages/vendors/customize/op_api/include/aclnn_sigmoid_custom.h ./packages/vendors/customize/op_api/lib/libcust_opapi.so ./packages/vendors/customize/op_impl/ai_core/tbe/config/ascend310b/aic-ascend310b-ops-info.json ./packages/vendors/customize/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json ./packages/vendors/customize/op_impl/ai_core/tbe/customize_impl/dynamic/sigmoid_custom.cpp ./packages/vendors/customize/op_impl/ai_core/tbe/customize_impl/dynamic/sigmoid_custom.py ./packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/sigmoid_custom/ ./packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend910b/sigmoid_custom/ ./packages/vendors/customize/op_impl/ai_core/tbe/kernel/config/ascend310b/ ./packages/vendors/customize/op_impl/ai_core/tbe/kernel/config/ascend910b/ ./packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so ./packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/liboptiling.so ./packages/vendors/customize/op_proto/inc/op_proto.h ./packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so ./packages/vendors/customize/version.info ./upgrade.sh CRC: 1499435367 SHA256: 132259459f6127571b863c6b1d537ab0b4bc03d419dcefd6159d37927d379782 Skipping md5sum at user request Self-extractable archive "custom_opp_euleros_aarch64.run" successfully created. Copy /home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out/_CPack_Packages/Linux/External/custom_opp_euleros_aarch64.run/custom_opp_euleros_aarch64.run to /home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out/ CPack: - package: /home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out/custom_opp_euleros_aarch64.run.json generated. CPack: - package: /home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out/custom_opp_euleros_aarch64.run generated. Verifying archive integrity... 100% SHA256 checksums are OK. All good. Uncompressing version:1.0 100% [ops_custom] [2025-06-23 23:33:13] [INFO] copy uninstall sh success [ops_custom] [2025-06-23 23:33:13] [INFO] upgrade framework tensorflow [ops_custom] [2025-06-23 23:33:13] [INFO] replace or merge old ops framework files .g..... [ops_custom] [2025-06-23 23:33:13] copy new ops framework files ...... [ops_custom] [2025-06-23 23:33:14] [INFO] upgrade op proto inc lib [ops_custom] [2025-06-23 23:33:14] [INFO] replace or merge old ops op_proto files .g..... [ops_custom] [2025-06-23 23:33:14] copy new ops op_proto files ...... [ops_custom] [2025-06-23 23:33:14] [INFO] upgrade op impl ai_core [ops_custom] [2025-06-23 23:33:14] [INFO] replace or merge old ops op_impl files .g..... [ops_custom] [2025-06-23 23:33:14] copy new ops op_impl files ...... [ops_custom] [2025-06-23 23:33:14] [INFO] upgrade op api include lib [ops_custom] [2025-06-23 23:33:14] [INFO] replace or merge old ops op_api files .g..... [ops_custom] [2025-06-23 23:33:14] copy new ops op_api files ...... [ops_custom] [2025-06-23 23:33:14] [INFO] upgrade version.info [ops_custom] [2025-06-23 23:33:14] copy new version.info files ...... [ops_custom] [2025-06-23 23:33:14] [INFO] no need to upgrade custom.proto files [ops_custom] [2025-06-23 23:33:14] [INFO] using requirements: when custom module install finished or before you run the custom module, execute the command [ export LD_LIBRARY_PATH=/home/ma-user/Ascend/ascend-toolkit/latest/opp/vendors/customize/op_api/lib/:${LD_LIBRARY_PATH} ] to set the environment path SUCCESS [100%] Built target ascendc_impl_gen [100%] Built target ascendc_bin_ascend910b_sigmoid_custom_copy [100%] Built target ascendc_bin_ascend310b_sigmoid_custom_copy [100%] Built target ascendc_bin_ascend910b [100%] Built target ascendc_bin_ascend310b [Ascend310B1] Generating SigmoidCustom_a3c9eb1f1b227778957282b95ed93786 ... [Ascend910B1] Generating SigmoidCustom_a3c9eb1f1b227778957282b95ed93786 ... [ERROR] TBE(123105,python3):2025-06-23-23:33:18.348.085 [../../../opc_tool/opc_common.py:218][_log_error] Traceback (most recent call last): File "/home/ma-user/Ascend/ascend-toolkit/8.0.RC1.alpha002/python/site-packages/opc_tool/op_compilation.py", line 417, in get_op_func_attr opm = importlib.import_module(op_module) File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module [ERROR] TBE(123105,python3):2025-06-23-23:33:18.348.235 [../../../opc_tool/opc_common.py:218][_log_error] File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out/op_kernel/binary/ascend910b/src/SigmoidCustom.py", line 14, in <module> from tbe.tikcpp.compile_op import CommonUtility, AscendCLogLevel ImportError: cannot import name 'CommonUtility' from 'tbe.tikcpp.compile_op' (/home/ma-user/Ascend/ascend-toolkit/8.0.RC1.alpha002/python/site-packages/tbe/tikcpp/compile_op.py) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/ma-user/Ascend/ascend-toolkit/8.0.RC1.alpha002/python/site-packages/opc_tool/op_compilation.py", line 559, in single_op_compilation self.__op_compile_by_json_info(json_dict) [ERROR] TBE(123105,python3):2025-06-23-23:33:18.348.409 [../../../opc_tool/op_compilation.py:562][single_op_compilation] Compile failed, reason is: import src.SigmoidCustom error, reason:cannot import name 'CommonUtility' from 'tbe.tikcpp.compile_op' (/home/ma-user/Ascend/ascend-toolkit/8.0.RC1.alpha002/python/site-packages/tbe/tikcpp/compile_op.py).. [ERROR] TBE(123105,python3):2025-06-23-23:33:18.348.498 [../../../opc_tool/opc.py:696][main] Opc tool compile failed. Opc tool start working now, please wait for a moment. /home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out/op_kernel/binary/ascend910b/bin/sigmoid_custom/SigmoidCustom_a3c9eb1f1b227778957282b95ed93786.json not generated! gmake[3]: *** [op_kernel/CMakeFiles/ascendc_bin_ascend910b_sigmoid_custom_0.dir/build.make:70: op_kernel/CMakeFiles/ascendc_bin_ascend910b_sigmoid_custom_0] Error 1 gmake[2]: *** [CMakeFiles/Makefile2:645: op_kernel/CMakeFiles/ascendc_bin_ascend910b_sigmoid_custom_0.dir/all] Error 2 gmake[2]: *** Waiting for unfinished jobs.... [ERROR] TBE(123103,python3):2025-06-23-23:33:18.302.945 [../../../opc_tool/opc_common.py:218][_log_error] Traceback (most recent call last): File "/home/ma-user/Ascend/ascend-toolkit/8.0.RC1.alpha002/python/site-packages/opc_tool/op_compilation.py", line 417, in get_op_func_attr opm = importlib.import_module(op_module) File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module [ERROR] TBE(123103,python3):2025-06-23-23:33:18.303.138 [../../../opc_tool/opc_common.py:218][_log_error] File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out/op_kernel/binary/ascend310b/src/SigmoidCustom.py", line 14, in <module> from tbe.tikcpp.compile_op import CommonUtility, AscendCLogLevel ImportError: cannot import name 'CommonUtility' from 'tbe.tikcpp.compile_op' (/home/ma-user/Ascend/ascend-toolkit/8.0.RC1.alpha002/python/site-packages/tbe/tikcpp/compile_op.py) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/ma-user/Ascend/ascend-toolkit/8.0.RC1.alpha002/python/site-packages/opc_tool/op_compilation.py", line 559, in single_op_compilation self.__op_compile_by_json_info(json_dict) [ERROR] TBE(123103,python3):2025-06-23-23:33:18.303.315 [../../../opc_tool/op_compilation.py:562][single_op_compilation] Compile failed, reason is: import src.SigmoidCustom error, reason:cannot import name 'CommonUtility' from 'tbe.tikcpp.compile_op' (/home/ma-user/Ascend/ascend-toolkit/8.0.RC1.alpha002/python/site-packages/tbe/tikcpp/compile_op.py).. [ERROR] TBE(123103,python3):2025-06-23-23:33:18.303.558 [../../../opc_tool/opc.py:696][main] Opc tool compile failed. Opc tool start working now, please wait for a moment. /home/ma-user/work/SigmoidCustom/SigmoidCustom/build_out/op_kernel/binary/ascend310b/bin/sigmoid_custom/SigmoidCustom_a3c9eb1f1b227778957282b95ed93786.json not generated! gmake[3]: *** [op_kernel/CMakeFiles/ascendc_bin_ascend310b_sigmoid_custom_0.dir/build.make:70: op_kernel/CMakeFiles/ascendc_bin_ascend310b_sigmoid_custom_0] Error 1 gmake[2]: *** [CMakeFiles/Makefile2:514: op_kernel/CMakeFiles/ascendc_bin_ascend310b_sigmoid_custom_0.dir/all] Error 2 gmake[1]: *** [CMakeFiles/Makefile2:416: op_kernel/CMakeFiles/binary.dir/rule] Error 2 gmake: *** [Makefile:306: binary] Error 2 [ERROR] Kernel compile failed, the run package will not be generated.
06-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值