淘淘不喜欢3、6、9

淘淘不喜欢数字3、6、9,在数数时,从1开始数,带有这三个数字的都会跳过。如:1, 2, 4, 5, 7, 8, 10, 11, 12, 14, 15, 17, 18, 20, 21, 22, 24, 25, 27, 28, 40,…… 输入一个n,求淘淘数到n时,她所数的所有数之和是多少?若n包含3、6、9,则显示,淘淘不会数到这个数。

输入格式:

输入一个正整数n。

输出格式:

输入淘淘数的数之和,或者提示淘淘不会数n。

输入样例1:

在这里给出一组输入。例如:

12

输出样例1:

在这里给出相应的输出。例如:

60

输入样例2:

在这里给出一组输入。例如:

13

输出样例2:

在这里给出相应的输出。例如:

淘淘不会数13
#include <stdio.h>

int p(int x)
{
    while (x>0)
    {
        int t = x%10;
        if (t==3 || t==6 || t==9)
        {
            return 0;
        }
        x/=10;
    }
    return 1;
}

int main()
{
    int i,j,s=0;
    scanf("%d",&i);
    if (p(i))
    {
        for (j = 1; j<=i; j++){
            if (p(j))
            {
               s+=j;
            }
        }
        printf("%d",s);

    }
    else
         printf("淘淘不会数到这个数");
    return 0;
}

#include <bits/stdc++.h>
using namespace std ;
int judge(int n){
    int t,x;
    t=n;
    while(t){
        x=t%10;
        if(x==3||x==6||x==9){
            return 0;
        }
        t/=10;
    }
    return 1;
}
int main()
{
    int i,sum=0,n,t,x;
    cin>>n;
    t=n;
    if(judge(t)==0){
        cout<<"淘淘不会数"<<t;
    }
    else{
        for(i=1;i<=n;i++){
            if(judge(i))
                sum+=i;
        }cout<<sum;
    }
    

}