首页 > 试题广场 >

函数求值

[编程题]函数求值
  • 热度指数:2085 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给定正整数N,函数F(N)表示小于等于N的自然数中1和2的个数之和,例如:1,2,3,4,5,6,7,8,9,10序列中1和2的个数之和为3,因此 F(10)=3。输入N,求F(N)的值,1=<N<=10^100(10的100次方)若F(N)很大,则求F(N)mod20123的值


输入描述:


输出描述:
示例1

输入

10
10

输出

3
3
头像 牛客875497457号
发表于 2022-03-12 16:57:03
解题思路:如得到F(12)1和2的个数为res,计算F(123)。 字母含义res:0-12中1,2出现的次数,cnt为12这个数中1和2出现的次数X,t为当前数字的末尾,如此时输入为123,即t=3。 res = (res-cnt)10+cnt(t+1)+num2+min(t,2) 第一部分(re 展开全文
头像 牛客805175766号
发表于 2024-03-13 18:04:27
import javax.xml.stream.StreamFilter; import java.math.BigDecimal; import java.math.BigInteger; import java.math.RoundingMode; import java.text.DateFo 展开全文
头像 Egon_010101
发表于 2024-03-22 10:27:06
#include <bits/stdc++.h> #include <string> using namespace std; int main() { string s; while(cin >> s){ int m = s.le 展开全文
头像 CserDu
发表于 2022-02-02 19:35:20
数位dp,记忆化搜索 代码: #include<iostream> #include<cstring> using namespace std; const int mod=20123; int f[120][120],a[120],cnt; //pos是从最高位cnt搜索到 展开全文
头像 Brillianman
发表于 2023-02-01 21:10:31
我来写一个超时版本:#include<stdio.h>#include<string.h>int main(){ char A[110],B[110]; while(gets(A)){ int i,j,n=strlen(A),cnt=0; for(i=0;i<n;i++ 展开全文