C/CPP中int和string的互相转换详解与多解例题分析 题目 难度等级:6(1-8难到易) Some numbers have funny properties. For example:89 –> 8¹ + 9² = 89 * 1695 –> 6² + 9³ + 5⁴= 1390 = 695 * –> 4³ + 6⁴+ 2⁵ + 8⁶ + 8⁷ = = 46288 * 51 Given a positive integer n written as abcd… (a, b, c, d… being digits) and a positive integer pwe want to find a positive integer k, if it exists, such that the sum of the digits of n taken to the successive powers of p is equal to k * n. In other words:Is there an integer k such as : (a ^ p + b ^ (p+1) + c ^(p+2) + d ^ (p+3) + …) = n * k If it is the case we will return k, if not return -1. Note: n and p will always be given as strictly positive integers. 汉译 有些数字具有有趣的特性。例如:89 –> 8¹ + 9² = 89 * 1695 –> 6² + 9³ + 5⁴= 1390 = 695 * –> 4³ + 6⁴+ 2⁵ + 8⁶ + 8⁷ = = 46288 * 51 给定一个正整数 n,写成 abcd…(a, b, c, d… 是数字)和一个正整数 p我们想要找到一个正整数 k,如果它存在的话,使得 n 的数字之和对 p 的连续幂等于 k n。 换句话说:是否存在整数 k 例如: (a ^ p + b ^ (p+1) + c ^(p+2) + d ^ (p+3) + …) = n * k 如果是这种情况,我们将返回 k,如果不是,则返回 -1。 注意:n 和 p 将始终作为严格的正整数给出。 代码区 解答 CPP(c++解法) C(c语言解法) D(我的解法) PS(知识补充) pow() 使用说明:实现次方运算^ 头文件:#include<math.h> 使用方法: C++中int和string的互相转换 一、用sstream类 1. int -> string 2. string -> int 缺点:处理大量数据时候速度慢;stringstream不会主动释放内存。 二、用sprintf、sscanf函数 1. int -> string 2. string -> int、float 三、C标准库atoi, atof, atol, atoll(C++11标准) 函数 可以将字符串转换成int,double, long, long long 型 1. int -> string itoa函数: 定义: char *itoa(int value, char *string, int radix); 参数: ① value:需要转换的int型 ② string:转换后的字符串,为字符串数组 ③ radix:进制,范围2-36 2. string -> int、double、long、long long atoi函数: 定义: int atoi(const char *nptr); double atof(const char *nptr); long atol(const char *nptr); long long atoll(const char *nptr); 参数: ① nptr:字符串数组首地址 C++中int与char相互转换 一、ASCII表 了解int与char相互转换之前,先让我们看一下ASCII表。
其中数字字符对应的位置为:48(0) – 57(9)。 二、char转int char转int之前,先将运算式中的每个字符都转换成ASCII码值,再进行计算。 以下代码为例,其中i3的结果符合我们的预期要求。 三、int转char int转char之前,先将运算式中的每个字符都转换成ASCII码值,再进行计算。 计算出数值后,再据此转换为字符(数值为该字符对应的ASCII码值)。 以下代码为例,其中c4的结果符合我们的预期要求。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/75842.html